wireshark - Interactively dump and analyze network traffic
wireshark [ -a <capture autostop condition> ] ... [ -b <capture ring buffer option> ] ... [ -B <capture buffer size (Win32 only)> ] [ -c <capture packet count> ] [ -C <configuration profile> ] [ -D ] [ --display=<X display to use> ] [ -f <capture filter> ] [ -g <packet number> ] [ -h ] [ -H ] [ -i <capture interface>|- ] [ -k ] [ -K <keytab> ] [ -l ] [ -L ] [ -m <font> ] [ -n ] [ -N <name resolving flags> ] [ -o <preference/recent setting> ] ... [ -p ] [ -P <path setting>] [ -Q ] [ -r <infile> ] [ -R <read (display) filter> ] [ -S ] [ -s <capture snaplen> ] [ -t ad|a|r|d|dd|e ] [ -v ] [ -w <outfile> ] [ -y <capture link type> ] [ -X <eXtension option> ] [ -z <statistics> ] [ <infile> ]
Wireshark is a GUI network protocol analyzer. It lets you interactively browse packet data from a live network or from a previously saved capture file. Wireshark's native capture file format is libpcap format, which is also the format used by tcpdump and various other tools.
Wireshark can read / import the following file formats:
There is no need to tell Wireshark what type of file you are reading; it will determine the file type by itself. Wireshark is also capable of reading any of these file formats if they are compressed using gzip. Wireshark recognizes this directly from the file; the '.gz' extension is not required for this purpose.
Like other protocol analyzers, Wireshark's main window shows 3 views of a packet. It shows a summary line, briefly describing what the packet is. A packet details display is shown, allowing you to drill down to exact protocol or field that you interested in. Finally, a hex dump shows you exactly what the packet looks like when it goes over the wire.
In addition, Wireshark has some features that make it unique. It can assemble all the packets in a TCP conversation and show you the ASCII (or EBCDIC, or hex) data in that conversation. Display filters in Wireshark are very powerful; more fields are filterable in Wireshark than in other protocol analyzers, and the syntax you can use to create your filters is richer. As Wireshark progresses, expect more and more protocol fields to be allowed in display filters.
Packet capturing is performed with the pcap library. The capture filter syntax follows the rules of the pcap library. This syntax is different from the display filter syntax.
Compressed file support uses (and therefore requires) the zlib library. If the zlib library is not present, Wireshark will compile, but will be unable to read compressed files.
The pathname of a capture file to be read can be specified with the -r option or can be specified as a command-line argument.
Most users will want to start Wireshark without options and configure it from the menus instead. Those users may just skip this section.
duration:value Stop writing to a capture file after value seconds have elapsed.
filesize:value Stop writing to a capture file after it reaches a size of value kilobytes (where a kilobyte is 1024 bytes). If this option is used together with the -b option, Wireshark will stop writing to the current capture file and switch to the next one if filesize is reached.
files:value Stop writing to capture files after value number of files were written.
The created filenames are based on the filename given with the -w flag, the number of the file and on the creation date and time, e.g. outfile_00001_20050604120117.pcap, outfile_00001_20050604120523.pcap, ...
With the files option it's also possible to form a ``ring buffer''. This will fill up new files until the number of files specified, at which point Wireshark will discard the data in the first file and start writing to that file and so on. If the files option is not set, new files filled up until one of the capture stop conditions match (or until the disk if full).
The criterion is of the form key:value, where key is one of:
duration:value switch to the next file after value seconds have elapsed, even if the current file is not completely filled up.
filesize:value switch to the next file after it reaches a size of value kilobytes (where a kilobyte is 1024 bytes).
files:value begin again with the first file after value number of files were written (form a ring buffer).
This can be useful on systems that don't have a command to list them (e.g., Windows systems, or UNIX systems lacking ifconfig -a); the number can be useful on Windows 2000 and later systems, where the interface name is a somewhat complex string.
Note that ``can capture'' means that Wireshark was able to open that device to do a live capture; if, on your system, a program doing a network capture must be run from an account with special privileges (for example, as root), then, if Wireshark is run with the -D flag and is not run from such an account, it will not list any interfaces.
Network interface names should match one of the names listed in ``wireshark -D'' (described above); a number, as reported by ``wireshark -D'', can also be used. If you're using UNIX, ``netstat -i'' or ``ifconfig -a'' might also work to list interface names, although not all versions of UNIX support the -a flag to ifconfig.
If no interface is specified, Wireshark searches the list of interfaces, choosing the first non-loopback interface if there are any non-loopback interfaces, and choosing the first loopback interface if there are no non-loopback interfaces. If there are no interfaces at all, Wireshark reports an error and doesn't start the capture.
Pipe names should be either the name of a FIFO (named pipe) or ``-'' to read data from the standard input. Data read from pipes must be in standard libpcap format.
Note: the Win32 version of Wireshark doesn't support capturing from pipes or stdin!
Example: -K krb5.keytab
The argument is a string that may contain the letters:
m to enable MAC address resolution
n to enable network address resolution
t to enable transport-layer port number resolution
C to enable concurrent (asynchronous) DNS lookups
If prefname is ``uat'', you can override settings in various user access tables using the form uat:uat filename:uat record. uat filename must be the name of a UAT file, e.g. user_dlts. uat_record must be in the form of a valid record for that file, including quotes. For instance, to specify a user DLT from the command line, you would use
-o ``uat:user_dlts:\''User 0 (DLT=147)\``,\''cops\``,\''0\``,\''\``,\''0\``,\''\``''
The criterion is of the form key:path, where key is one of:
persconf:path path of personal configuration files, like the preferences files.
persdata:path path of personal data files, it's the folder initially opened. After the very first initilization, the recent file will keep the folder last used.
ad absolute with date: The absolute date and time is the actual time and date the packet was captured
a absolute: The absolute time is the actual time the packet was captured, with no date displayed
r relative: The relative time is the time elapsed between the first packet and the current packet
d delta: The delta time is the time since the previous packet was captured
dd delta_displayed: The delta_displayed time is the time since the previous displayed packet was captured
e epoch: The time in seconds since epoch (Jan 1, 1970 00:00:00)
lua_script:lua_script_filename tells Wireshark to load the given script in addition to the default Lua scripts.
-z dcerpc,srt,uuid,major.minor[,filter]
Collect call/reply SRT (Service Response Time) data for DCERPC interface uuid, version major.minor. Data collected is number of calls for each procedure, MinSRT, MaxSRT and AvgSRT. Example: use -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0 to collect data for CIFS SAMR Interface. This option can be used multiple times on the command line.
If the optional filterstring is provided, the stats will only be calculated on those calls that match that filter. Example: use -z dcerpc,srt,12345778-1234-abcd-ef00-0123456789ac,1.0,ip.addr==1.2.3.4 to collect SAMR SRT statistics for a specific host.
-z io,stat
Collect packet/bytes statistics for the capture in intervals of 1 seconds. This option will open a window with up to 5 color-coded graphs where number-of-packets-per-second or number-of-bytes-per-second statistics can be calculated and displayed.
This option can be used multiple times on the command line.
This graph window can also be opened from the Analyze:Statistics:Traffic:IO-Stat menu item.
-z rpc,srt,program,version[,<filter>]
Collect call/reply SRT (Service Response Time) data for program/version. Data collected is number of calls for each procedure, MinSRT, MaxSRT and AvgSRT. Example: use -z rpc,srt,100003,3 to collect data for NFS v3. This option can be used multiple times on the command line.
If the optional filter string is provided, the stats will only be calculated on those calls that match that filter. Example: use -z rpc,srt,100003,3,nfs.fh.hash==0x12345678 to collect NFS v3 SRT statistics for a specific file.
-z rpc,programs
Collect call/reply RTT data for all known ONC-RPC programs/versions. Data collected is number of calls for each protocol/version, MinRTT, MaxRTT and AvgRTT.
-z scsi,srt,cmdset[,<filter>]
Collect call/reply SRT (Service Response Time) data for SCSI commandset <cmdset>.
Commandsets are 0:SBC 1:SSC 5:MMC
Data collected is number of calls for each procedure, MinSRT, MaxSRT and AvgSRT. Example: use -z scsi,srt,0 to collect data for SCSI BLOCK COMMANDS (SBC). This option can be used multiple times on the command line.
If the optional filter string is provided, the stats will only be calculated on those calls that match that filter. Example: use -z scsi,srt,0,ip.addr==1.2.3.4 to collect SCSI SBC SRT statistics for a specific iscsi/ifcp/fcip host.
-z smb,srt[,filter]
Collect call/reply SRT (Service Response Time) data for SMB. Data collected is number of calls for each SMB command, MinSRT, MaxSRT and AvgSRT. Example: use -z smb,srt.
The data will be presented as separate tables for all normal SMB commands, all Transaction2 commands and all NT Transaction commands. Only those commands that are seen in the capture will have its stats displayed. Only the first command in a xAndX command chain will be used in the calculation. So for common SessionSetupAndX + TreeConnectAndX chains, only the SessionSetupAndX call will be used in the statistics. This is a flaw that might be fixed in the future.
This option can be used multiple times on the command line.
If the optional filterstring is provided, the stats will only be calculated on those calls that match that filter. Example: use -z ``smb,srt,ip.addr==1.2.3.4'' to only collect stats for SMB packets echanged by the host at IP address 1.2.3.4 .
-z fc,srt[,filter]
Collect call/reply SRT (Service Response Time) data for FC. Data collected is number of calls for each Fibre Channel command, MinSRT, MaxSRT and AvgSRT. Example: use -z fc,srt. The Service Response Time is calculated as the time delta between the First packet of the exchange and the Last packet of the exchange.
The data will be presented as separate tables for all normal FC commands, Only those commands that are seen in the capture will have its stats displayed.
This option can be used multiple times on the command line.
If the optional filterstring is provided, the stats will only be calculated on those calls that match that filter. Example: use -z ``fc,srt,fc.id==01.02.03'' to only collect stats for FC packets echanged by the host at FC address 01.02.03 .
-z ldap,srt[,filter]
Collect call/reply SRT (Service Response Time) data for LDAP. Data collected is number of calls for each implemented LDAP command, MinSRT, MaxSRT and AvgSRT. Example: use -z ldap,srt. The Service Response Time is calculated as the time delta between the Request and the Response.
The data will be presented as separate tables for all implemented LDAP commands, Only those commands that are seen in the capture will have its stats displayed.
This option can be used multiple times on the command line.
If the optional filterstring is provided, the stats will only be calculated on those calls that match that filter. Example: use -z ``ldap,srt,ip.addr==10.1.1.1'' to only collect stats for LDAP packets echanged by the host at IP address 10.1.1.1 .
The only LDAP command that are currently implemented and the stats will be available for are: BIND SEARCH MODIFY ADD DELETE MODRDN COMPARE EXTENDED
-z mgcp,srt[,filter]
Collect requests/response SRT (Service Response Time) data for MGCP. This is similar to -z smb,srt). Data collected is number of calls for each known MGCP Type, Minimum SRT, Maximum SRT and Average SRT. Example: use -z mgcp,srt.
This option can be used multiple times on the command line.
If the optional filterstring is provided, the stats will only be calculated on those calls that match that filter. Example: use -z ``mgcp,srt,ip.addr==1.2.3.4'' to only collect stats for MGCP packets exchanged by the host at IP address 1.2.3.4 .
-z megaco,srt[,filter]
Collect requests/response SRT (Service Response Time) data for MEGACO. This is similar to -z smb,srt). Data collected is number of calls for each known MEGACO Command, Minimum SRT, Maximum SRT and Average SRT. Example: use -z megaco,srt.
This option can be used multiple times on the command line.
If the optional filterstring is provided, the stats will only be calculated on those calls that match that filter. Example: use -z ``megaco,srt,ip.addr==1.2.3.4'' to only collect stats for MEGACO packets exchanged by the host at IP address 1.2.3.4 .
-z conv,type[,filter]
Create a table that lists all conversations that could be seen in the capture. type specifies for which type of conversation we want to generate the statistics; currently the supported ones are
"eth" Ethernet "fc" Fibre Channel addresses "fddi" FDDI addresses "ip" IP addresses "ipx" IPX addresses "tcp" TCP/IP socket pairs Both IPv4 and IPv6 are supported "tr" TokenRing "udp" UDP/IP socket pairs Both IPv4 and IPv6 are supported
If the optional filter string is specified, only those packets that match the filter will be used in the calculations.
The table is presented with one line for each conversation and displays number of packets/bytes in each direction as well as total number of packets/bytes. By default, the table is sorted according to total number of packets.
These tables can also be generated at runtime by selecting the appropriate conversation type from the menu ``Tools/Statistics/Conversation List/''.
-z h225,counter[,filter]
Count ITU-T H.225 messages and their reasons. In the first column you get a list of H.225 messages and H.225 message reasons, which occur in the current capture file. The number of occurences of each message or reason is displayed in the second column.
Example: use -z h225,counter.
This option can be used multiple times on the command line.
If the optional filterstring is provided, the stats will only be calculated on those calls that match that filter. Example: use -z ``h225,counter,ip.addr==1.2.3.4'' to only collect stats for H.225 packets exchanged by the host at IP address 1.2.3.4 .
-z h225,srt[,filter]
Collect requests/response SRT (Service Response Time) data for ITU-T H.225 RAS. Data collected is number of calls of each ITU-T H.225 RAS Message Type, Minimum SRT, Maximum SRT, Average SRT, Minimum in Packet, and Maximum in Packet. You will also get the number of Open Requests (Unresponded Requests), Discarded Responses (Responses without matching request) and Duplicate Messages. Example: use -z h225,srt.
This option can be used multiple times on the command line.
If the optional filterstring is provided, the stats will only be calculated on those calls that match that filter. Example: use -z ``h225,srt,ip.addr==1.2.3.4'' to only collect stats for ITU-T H.225 RAS packets exchanged by the host at IP address 1.2.3.4 .
-z sip,stat[,filter]
This option will activate a counter for SIP messages. You will get the number of occurences of each SIP Method and of each SIP Status-Code. Additionally you also get the number of resent SIP Messages (only for SIP over UDP).
Example: use -z sip,stat.
This option can be used multiple times on the command line.
If the optional filter string is provided, the stats will only be calculated on those calls that match that filter. Example: use -z ``sip,stat,ip.addr==1.2.3.4'' to only collect stats for SIP packets exchanged by the host at IP address 1.2.3.4 .
-z voip,calls
This option will show a window that shows VoIP calls found in the capture file. This is the same window shown as when you go to the Statistics Menu and choose VoIP Calls.
Example: use -z voip,calls
Printing options can be set with the Edit:Preferences menu item, or in the dialog box popped up by this menu item.
If that data is a field that can be tested in a display filter expression, the display filter will test that field; otherwise, the display filter will be based on the absolute offset within the packet. Therefore it could be unreliable if the packet contains protocols with variable-length headers, such as a source-routed token-ring packet.
When searching for a text string, you can search the packet data, or you can search the text in the Info column in the packet list pane or in the packet details pane.
Hexadecimal digits can be separated by colons, periods, or dashes. Text string searches can be ASCII or Unicode (or both), and may be case insensitive.
Packets that have been selected as Time Reference packets will always be displayed in the packet list pane. Display filters will not affect or hide these packets.
If there is a column displayed for ``Culmulative Bytes'' this counter will be reset at every Time Reference packet.
When Wireshark starts, the color filters are loaded from:
1. The user's personal color filters file or, if that does not exist,
2. The global color filters file.
If neither of these exist then the packets will not be colored.
If that data is a field that can be tested in a display filter expression, the display filter will test that field; otherwise, the display filter will be based on the absolute offset within the packet. Therefore it could be unreliable if the packet contains protocols with variable-length headers, such as a source-routed token-ring packet.
The Selected option creates a display filter that tests for a match of the data; the Not Selected option creates a display filter that tests for a non-match of the data. The And Selected, Or Selected, And Not Selected, and Or Not Selected options add to the end of the display filter in the strip at the top (or bottom) an AND or OR operator followed by the new display filter expression.
When a protocol is disabled, dissection in a particular packet stops when that protocol is reached, and Wireshark moves on to the next packet. Any higher-layer protocols that would otherwise have been processed will not be displayed. For example, disabling TCP will prevent the dissection and display of TCP, HTTP, SMTP, Telnet, and any other protocol exclusively dependent on TCP.
The list of protocols can be saved, so that Wireshark will start up with the protocols in that list disabled.
The window in which the data stream is displayed lets you select:
and lets you print what's currently being displayed, using the same print options that are used for the File:Print Packet menu item, or save it as text to a file.
The top part of the window contains the graphs and scales for the X and Y axis. If the graph is too long to fit inside the window there is a horizontal scrollbar below the drawing area that can scroll the graphs to the left or the right. The horizontal axis displays the time into the capture and the vertical axis will display the measured quantity at that time.
Below the drawing area and the scrollbar are the controls. On the bottom left there will be five similar sets of controls to control each induvidual graph such as ``Display:<button>'' which button will toggle that individual graph on/off. If <button> is ticked, the graph will be displayed. ``Color:<color>'' which is just a button to show which color will be used to draw that graph (color is only available in Gtk2 version) and finally ``Filter:<filter-text>'' which can be used to specify a display filter for that particular graph.
If filter-text is empty then all packets will be used to calculate the quantity for that graph. If filter-text is specified only those packets that match that display filter will be considered in the calculation of quantity.
To the right of the 5 graph controls there are four menus to control global aspects of the draw area and graphs. The ``Unit:'' menu is used to control what to measure; ``packets/tick'', ``bytes/tick'' or ``advanced...''
packets/tick will measure the number of packets matching the (if specified) display filter for the graph in each measurement interval.
bytes/tick will measure the total number of bytes in all packets matching the (if specified) display filter for the graph in each measurement interval.
advanced... see below
``Tick interval:'' specifies what measurement intervals to use. The default is 1 second and means that the data will be counted over 1 second intervals.
``Pixels per tick:'' specifies how many pixels wide each measurement interval will be in the drawing area. The default is 5 pixels per tick.
``Y-scale:'' controls the max value for the y-axis. Default value is ``auto'' which means that Wireshark will try to adjust the maxvalue automatically.
``advanced...'' If Unit:advanced... is selected the window will display two more controls for each of the five graphs. One control will be a menu where the type of calculation can be selected from SUM,COUNT,MAX,MIN,AVG and LOAD, and one control, textbox, where the name of a single display filter field can be specified.
The following restrictions apply to type and field combinations:
SUM: available for all types of integers and will calculate the SUM of all occurences of this field in the measurement interval. Note that some field can occur multiple times in the same packet and then all instances will be summed up. Example: 'tcp.len' which will count the amount of payload data transferred across TCP in each interval.
COUNT: available for all field types. This will COUNT the number of times certain field occurs in each interval. Note that some fields may occur multiple times in each packet and if that is the case then each instance will be counted independently and COUNT will be greater than the number of packets.
MAX: available for all integer and relative time fields. This will calculate the max seen integer/time value seen for the field during the interval. Example: 'smb.time' which will plot the maximum SMB response time.
MIN: available for all integer and relative time fields. This will calculate the min seen integer/time value seen for the field during the interval. Example: 'smb.time' which will plot the minimum SMB response time.
AVG: available for all integer and relative time fields.This will calculate the average seen integer/time value seen for the field during the interval. Example: 'smb.time' which will plot the average SMB response time.
LOAD: available only for relative time fields (response times).
Example of advanced: Display how NFS response time MAX/MIN/AVG changes over time:
Set first graph to:
filter:nfs&&rpc.time Calc:MAX rpc.time
Set second graph to
filter:nfs&&rpc.time Calc:AVG rpc.time
Set third graph to
filter:nfs&&rpc.time Calc:MIN rpc.time
Example of advanced: Display how the average packet size from host a.b.c.d changes over time.
Set first graph to
filter:ip.addr==a.b.c.d&&frame.pkt_len Calc:AVG frame.pkt_len
LOAD: The LOAD io-stat type is very different from anything you have ever seen before! While the response times themself as plotted by MIN,MAX,AVG are indications on the Server load (which affects the Server response time), the LOAD measurement measures the Client LOAD. What this measures is how much workload the client generates, i.e. how fast will the client issue new commands when the previous ones completed. i.e. the level of concurrency the client can maintain. The higher the number, the more and faster is the client issuing new commands. When the LOAD goes down, it may be due to client load making the client slower in issuing new commands (there may be other reasons as well, maybe the client just doesn't have any commands it wants to issue right then).
Load is measured in concurrency/number of overlapping i/o and the value 1000 means there is a constant load of one i/o.
In each tick interval the amount of overlap is measured. See the graph below containing three commands: Below the graph are the LOAD values for each interval that would be calculated.
| | | | | | | | | | | | | | | | | | | | o=====* | | | | | | | | | | | | | | | | o========* | o============* | | | | | | | | | | | | --------------------------------------------------> Time 500 1500 500 750 1000 500 0 0
By default the list is sorted according to the number of packets but by clicking on the column header; it is possible to re-sort the list in ascending or descending order by any column.
By first selecting a conversation by clicking on it and then using the right mouse button (on those platforms that have a right mouse button) wireshark will display a popup menu offering several different filter operations to apply to the capture.
These statistics windows can also be invoked from the Wireshark command line using the -z conv argument.
This dialog will also allow an optional filter string to be used. If an optional filter string is used only such DCE-RPC request/response pairs that match that filter will be used to calculate the statistics. If no filter string is specified all request/response pairs will be used.
This dialog will also allow an optional filter string to be used. If an optional filter string is used only such FC first/last exchange pairs that match that filter will be used to calculate the statistics. If no filter string is specified all request/response pairs will be used.
This dialog will also allow an optional filter string to be used. If an optional filter string is used only such ONC-RPC request/response pairs that match that filter will be used to calculate the statistics. If no filter string is specified all request/response pairs will be used.
By first selecting a conversation by clicking on it and then using the right mouse button (on those platforms that have a right mouse button) wireshark will display a popup menu offering several different filter operations to apply to the capture.
The data will be presented as separate tables for all normal SMB commands, all Transaction2 commands and all NT Transaction commands. Only those commands that are seen in the capture will have its stats displayed. Only the first command in a xAndX command chain will be used in the calculation. So for common SessionSetupAndX + TreeConnectAndX chains, only the SessionSetupAndX call will be used in the statistics. This is a flaw that might be fixed in the future.
You can apply an optional filter string in a dialog box, before starting the calculation. The stats will only be calculated on those calls matching that filter.
By first selecting a conversation by clicking on it and then using the right mouse button (on those platforms that have a right mouse button) wireshark will display a popup menu offering several different filter operations to apply to the capture.
You can apply an optional filter string in a dialog box, before starting the calculation. The statistics will only be calculated on those calls matching that filter.
You can apply an optional filter string in a dialog box, before starting the calculation. The statistics will only be calculated on those calls matching that filter.
You can apply an optional filter string in a dialog box, before starting the counter. The statistics will only be calculated on those calls matching that filter.
This window opened will update in semi-real time to reflect changes when doing live captures or when reading new capture files into Wireshark.
You can apply an optional filter string in a dialog box, before starting the counter. The statistics will only be calculated on those calls matching that filter.
The main window is much more flexible than before. The layout of the main window can be customized by the Layout page in the dialog box popped up by Edit:Preferences, the following will describe the layout with the default settings.
tcp.port == 80 || tcp.port == 443 || tcp.port == 53
Selecting the Filter: button lets you choose from a list of named filters that you can optionally save. Pressing the Return or Enter keys, or selecting the Apply button, will cause the filter to be applied to the current list of packets. Selecting the Reset button clears the display filter so that all packets are displayed (again).
There is no way to customize the items in the toolbar, however the toolbar can be hidden by View:Filter Toolbar.
If you click on the heading for a column, the display will be sorted by that column; clicking on the heading again will reverse the sort order for that column.
An effort is made to display information as high up the protocol stack as possible, e.g. IP addresses are displayed for IP packets, but the MAC layer address is displayed for unknown packet types.
The right mouse button can be used to pop up a menu of operations.
The middle mouse button can be used to mark a packet.
The right mouse button can be used to pop up a menu of operations.
The statusbar can be hidden by View:Statusbar.
The Column title entry is used to specify the title of the column displayed at the top of the packet list. The type of data that the column displays can be specified using the Column format option menu. The row of buttons on the left perform the following actions:
The Interface: combo box lets you specify the interface from which to capture packet data, or the name of a FIFO from which to get the packet data.
The Data link type: option menu lets you, for some interfaces, select the data link header you want to see on the packets you capture. For example, in some OSes and with some versions of libpcap, you can choose, on an 802.11 interface, whether the packets should appear as Ethernet packets (with a fake Ethernet header) or as 802.11 packets.
The Limit each packet to ... bytes check box lets you set the snapshot length to use when capturing live data; turn on the check box, and then set the number of bytes to use as the snapshot length.
The Filter: text entry lets you set a capture filter expression to be used when capturing.
If any of the environment variables SSH_CONNECTION, SSH_CLIENT, REMOTEHOST, DISPLAY, or SESSIONNAME are set, Wireshark will create a default capture filter that excludes traffic from the hosts and ports defined in those variables.
The Capture packets in promiscuous mode check box lets you specify whether to put the interface in promiscuous mode when capturing.
The Update list of packets in real time check box lets you specify that the display should be updated as packets are seen.
The Automatic scrolling in live capture check box lets you specify whether, in an ``Update list of packets in real time'' capture, the packet list pane should automatically scroll to show the most recently captured packets.
The Enable concurrent DNS name resolution allows Wireshark to send out multiple name resolution requests and not wait for the result before continuing dissection. This speeds up dissection with network name resolution but initially may miss resolutions. The number of concurrent requests can be set here as well.
SMI paths
SMI modules
The Capture Filter dialog lets you do all of the editing operations listed, and also lets you choose or construct a filter to be used when capturing packets.
The Display Filter dialog lets you do all of the editing operations listed, and also lets you choose or construct a filter to be used to filter the current capture being viewed.
The Read Filter dialog lets you do all of the editing operations listed, and also lets you choose or construct a filter to be used to as a read filter for a capture file you open.
The Search Filter dialog lets you do all of the editing operations listed, and also lets you choose or construct a filter expression to be used in a find operation.
In all of those dialogs, the Filter name entry specifies a descriptive name for a filter, e.g. Web and DNS traffic. The Filter string entry is the text that actually describes the filtering action to take, as described above.The dialog buttons perform the following actions:
filter(s)
up the list, making it more likely that
they will be used to color packets.
filter(s)
down the list, making it less likely that
they will be used to color packets.
The Interface: field lets you specify the interface from which to capture packet data or a command from which to get the packet data via a pipe.
The Link layer header type: field lets you specify the interfaces link layer header type. This field is usually disabled, as most interface have only one header type.
The Capture packets in promiscuous mode check box lets you specify whether the interface should be put into promiscuous mode when capturing.
The Limit each packet to ... bytes check box and field lets you specify a maximum number of bytes per packet to capture and save; if the check box is not checked, the limit will be 65535 bytes.
The Capture Filter: entry lets you specify the capture filter using a tcpdump-style filter string as described above.
The File: entry lets you specify the file into which captured packets should be saved, as in the Printer Options dialog above. If not specified, the captured packets will be saved in a temporary file; you can save those packets to a file with the File:Save As menu item.
The Use multiple files check box lets you specify that the capture should be done in ``multiple files'' mode. This option is disabled, if the Update list of packets in real time option is checked.
The Next file every ... megabyte(s) check box and fields lets you specify that a switch to a next file should be done if the specified filesize is reached. You can also select the appriate unit, but beware that the filesize has a maximum of 2 GB. The check box is forced to be checked, as ``multiple files'' mode requires a file size to be specified.
The Next file every ... minute(s) check box and fields lets you specify that the switch to a next file should be done after the specified time has elapsed, even if the specified capture size is not reached.
The Ring buffer with ... files field lets you specify the number of files of a ring buffer. This feature will capture into to the first file again, after the specified amount of files were used.
The Stop capture after ... files field lets you specify the number of capture files used, until the capture is stopped.
The Stop capture after ... packet(s) check box and field let you specify that Wireshark should stop capturing after having captured some number of packets; if the check box is not checked, Wireshark will not stop capturing at some fixed number of captured packets.
The Stop capture after ... megabyte(s) check box and field lets you specify that Wireshark should stop capturing after the file to which captured packets are being saved grows as large as or larger than some specified number of megabytes. If the check box is not checked, Wireshark will not stop capturing at some capture file size (although the operating system on which Wireshark is running, or the available disk space, may still limit the maximum size of a capture file). This option is disabled, if ``multiple files'' mode is used,
The Stop capture after ... second(s) check box and field let you specify that Wireshark should stop capturing after it has been capturing for some number of seconds; if the check box is not checked, Wireshark will not stop capturing after some fixed time has elapsed.
The Update list of packets in real time check box lets you specify whether the display should be updated as packets are captured and, if you specify that, the Automatic scrolling in live capture check box lets you specify the packet list pane should automatically scroll to show the most recently captured packets as new packets arrive.
The Enable MAC name resolution, Enable network name resolution and Enable transport name resolution check boxes let you specify whether MAC addresses, network addresses, and transport-layer port numbers should be translated to names.
The Plugins List shows the name and version of each dissector plugin module found on your system.
On Unix-compatible systems, the plugins are looked for in the following directories: the lib/wireshark/plugins/$VERSION directory under the main installation directory (for example, /usr/local/lib/wireshark/plugins/$VERSION), and then $HOME/.wireshark/plugins.
On Windows systems, the plugins are looked for in the following directories: plugins\$VERSION directory under the main installation directory (for example, C:\Program Files\Wireshark\plugins\$VERSION), and then %APPDATA%\Wireshark\plugins\$VERSION (or, if %APPDATA% isn't defined, %USERPROFILE%\Application Data\Wireshark\plugins\$VERSION).
$VERSION is the version number of the plugin interface, which is typically the version number of Wireshark. Note that a dissector plugin module may support more than one protocol; there is not necessarily a one-to-one correspondence between dissector plugin modules and protocols. Protocols supported by a dissector plugin module are enabled and disabled using the Edit:Protocols dialog box, just as protocols built into Wireshark are.
See the manual page of pcap-filter(4) or, if that doesn't exist, tcpdump(8).
For a complete table of protocol and protocol fields that are filterable in Wireshark see the wireshark-filter(4) manual page.
These files contains various Wireshark configuration settings.
The preferences settings are in the form prefname:value, one per line, where prefname is the name of the preference and value is the value to which it should be set; white space is allowed between : and value. A preference setting can be continued on subsequent lines by indenting the continuation lines with white space. A # character starts a comment that runs to the end of the line:
# Vertical scrollbars should be on right side? # TRUE or FALSE (case-insensitive). gui.scrollbar_on_right: TRUE
The global preferences file is looked for in the wireshark directory under the share subdirectory of the main installation directory (for example, /usr/local/share/wireshark/preferences) on UNIX-compatible systems, and in the main installation directory (for example, C:\Program Files\Wireshark\preferences) on Windows systems.
The personal preferences file is looked for in $HOME/.wireshark/preferences on UNIX-compatible systems and %APPDATA%\Wireshark\preferences (or, if %APPDATA% isn't defined, %USERPROFILE%\Application Data\Wireshark\preferences) on Windows systems.
Note: Whenever the preferences are saved by using the Save button in the Edit:Preferences dialog box, your personal preferences file will be overwritten with the new settings, destroying any comments and unknown/obsolete settings that were in the file.
The settings in this file have the same format as in the preferences files, and the same directory as for the personal preferences file is used.
Note: Whenever Wireshark is closed, your recent file will be overwritten with the new settings, destroying any comments and unknown/obsolete settings that were in the file.
http tcp # a comment
If a protocol is listed in the global disabled_protos file, it is not displayed in the Analyze:Enabled Protocols dialog box, and so cannot be enabled by the user.
The global disabled_protos file uses the same directory as the global preferences file.
The personal disabled_protos file uses the same directory as the personal preferences file.
Note: Whenever the disabled protocols list is saved by using the Save button in the Analyze:Enabled Protocols dialog box, your personal disabled protocols file will be overwritten with the new settings, destroying any comments that were in the file.
Each line contains one hardware address and name, separated by whitespace. The digits of the hardware address are separated by colons (:), dashes (-) or periods (.). The same separator character must be used consistently in an address. The following three lines are valid lines of an ethers file:
ff:ff:ff:ff:ff:ff Broadcast c0-00-ff-ff-ff-ff TR_broadcast 00.00.00.00.00.00 Zero_broadcast
The global ethers file is looked for in the /etc directory on UNIX-compatible systems, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.
The personal ethers file is looked for in the same directory as the personal preferences file.
00:00:0C Cisco
can be provided, with the 3-byte OUI and the name for a vendor, and entries such as:
00-00-0C-07-AC/40 All-HSRP-routers
can be specified, with a MAC address and a mask indicating how many bits of the address must match. The above entry, for example, has 40 significant bits, or 5 bytes, and would match addresses from 00-00-0C-07-AC-00 through 00-00-0C-07-AC-FF. The mask need not be a multiple of 8.
The manuf file is looked for in the same directory as the global preferences file.
The format is the same as the ethers file, except that each address is four bytes instead of six. Additionally, the address can be represented as a single hexadecimal number, as is more common in the IPX world, rather than four hex octets. For example, these four lines are valid lines of an ipxnets file:
C0.A8.2C.00 HR c0-a8-1c-00 CEO 00:00:BE:EF IT_Server1 110f FileServer3
The global ipxnets file is looked for in the /etc directory on UNIX-compatible systems, and in the main installation directory (for example, C:\Program Files\Wireshark) on Windows systems.
The personal ipxnets file is looked for in the same directory as the personal preferences file.
"HTTP" port 80 "DCERPC" port 135
The global cfilters file uses the same directory as the global preferences file.
The personal cfilters file uses the same directory as the personal preferences file. It is written through the Capture:Capture Filters dialog.
If the global cfilters file exists, it is used only if the personal cfilters file does not exist; global and personal capture filters are not merged.
"HTTP" http "DCERPC" dcerpc
The global dfilters file uses the same directory as the global preferences file.
The personal dfilters file uses the same directory as the personal preferences file. It is written through the Analyze:Display Filters dialog.
If the global dfilters file exists, it is used only if the personal dfilters file does not exist; global and personal display filters are not merged.
# a comment @tcp@tcp@[59345,58980,65534][0,0,0] @udp@udp@[28834,57427,65533][0,0,0]
The global colorfilters file uses the same directory as the global preferences file.
The personal colorfilters file uses the same directory as the personal preferences file. It is written through the View:Coloring Rules dialog.
If the global colorfilters file exists, it is used only if the personal colorfilters file does not exist; global and personal color filters are not merged.
The global gtkrc file uses the same directory as the global preferences file.
The personal gtkrc file uses the same directory as the personal preferences file.
wireshark-filter(4), tshark(1), editcap(1), pcap-filter(4), tcpdump(8),
pcap(3), dumpcap(1), mergecap(1), text2pcap(1)
The latest version of Wireshark can be found at http://www.wireshark.org.
HTML versions of the Wireshark project man pages are available at: http://www.wireshark.org/docs/man-pages.
Original Author -------- ------ Gerald Combs <gerald[AT]wireshark.org>
Contributors ------------ Gilbert Ramirez <gram[AT]alumni.rice.edu> Hannes R. Boehm <hannes[AT]boehm.org> Mike Hall <mike [AT] hallzone.net> Bobo Rajec <bobo[AT]bsp-consulting.sk> Laurent Deniel <laurent.deniel[AT]free.fr> Don Lafontaine <lafont02[AT]cn.ca> Guy Harris <guy[AT]alum.mit.edu> Simon Wilkinson <sxw[AT]dcs.ed.ac.uk> Jörg Mayer <jmayer[AT]loplof.de> Martin Maciaszek <fastjack[AT]i-s-o.net> Didier Jorand <Didier.Jorand[AT]alcatel.fr> Jun-ichiro itojun Hagino <itojun[AT]itojun.org> Richard Sharpe <sharpe[AT]ns.aus.com> John McDermott <jjm[AT]jkintl.com> Jeff Jahr <jjahr[AT]shastanets.com> Brad Robel-Forrest <bradr[AT]watchguard.com> Ashok Narayanan <ashokn[AT]cisco.com> Aaron Hillegass <aaron[AT]classmax.com> Jason Lango <jal[AT]netapp.com> Johan Feyaerts <Johan.Feyaerts[AT]siemens.com> Olivier Abad <oabad[AT]noos.fr> Thierry Andry <Thierry.Andry[AT]advalvas.be> Jeff Foster <jfoste[AT]woodward.com> Peter Torvals <petertv[AT]xoommail.com> Christophe Tronche <ch.tronche[AT]computer.org> Nathan Neulinger <nneul[AT]umr.edu> Tomislav Vujec <tvujec[AT]carnet.hr> Kojak <kojak[AT]bigwig.net> Uwe Girlich <Uwe.Girlich[AT]philosys.de> Warren Young <tangent[AT]mail.com> Heikki Vatiainen <hessu[AT]cs.tut.fi> Greg Hankins <gregh[AT]twoguys.org> Jerry Talkington <jtalkington[AT]users.sourceforge.net> Dave Chapeskie <dchapes[AT]ddm.on.ca> James Coe <jammer[AT]cin.net> Bert Driehuis <driehuis[AT]playbeing.org> Stuart Stanley <stuarts[AT]mxmail.net> John Thomes <john[AT]ensemblecom.com> Laurent Cazalet <laurent.cazalet[AT]mailclub.net> Thomas Parvais <thomas.parvais[AT]advalvas.be> Gerrit Gehnen <G.Gehnen[AT]atrie.de> Craig Newell <craign[AT]cheque.uq.edu.au> Ed Meaney <emeaney[AT]cisco.com> Dietmar Petras <DPetras[AT]ELSA.de> Fred Reimer <fwr[AT]ga.prestige.net> Florian Lohoff <flo[AT]rfc822.org> Jochen Friedrich <jochen+ethereal[AT]scram.de> Paul Welchinski <paul.welchinski[AT]telusplanet.net> Doug Nazar <nazard[AT]dragoninc.on.ca> Andreas Sikkema <h323 [AT] ramdyne.nl> Mark Muhlestein <mmm[AT]netapp.com> Graham Bloice <graham.bloice[AT]trihedral.com> Ralf Schneider <ralf.schneider[AT]alcatel.se> Yaniv Kaul <ykaul[AT]netvision.net.il> Paul Ionescu <paul[AT]acorp.ro> Mark Burton <markb[AT]ordern.com> Stefan Raab <sraab[AT]cisco.com> Mark Clayton <clayton[AT]shore.net> Michael Rozhavsky <mike[AT]tochna.technion.ac.il> Dug Song <dugsong[AT]monkey.org> Michael Tüxen <tuexen [AT] fh-muenster.de> Bruce Korb <bkorb[AT]sco.com> Jose Pedro Oliveira <jpo[AT]di.uminho.pt> David Frascone <dave[AT]frascone.com> Peter Kjellerstedt <pkj[AT]axis.com> Phil Techau <phil_t[AT]altavista.net> Wes Hardaker <hardaker[AT]users.sourceforge.net> Robert Tsai <rtsai[AT]netapp.com> Craig Metz <cmetz[AT]inner.net> Per Flock <per.flock[AT]axis.com> Jack Keane <jkeane[AT]OpenReach.com> Brian Wellington <bwelling[AT]xbill.org> Santeri Paavolainen <santtu[AT]ssh.com> Ulrich Kiermayr <uk[AT]ap.univie.ac.at> Neil Hunter <neil.hunter[AT]energis-squared.com> Ralf Holzer <ralf[AT]well.com> Craig Rodrigues <rodrigc [AT] attbi.com> Ed Warnicke <hagbard[AT]physics.rutgers.edu> Johan Jorgensen <johan.jorgensen[AT]axis.com> Frank Singleton <frank.singleton[AT]ericsson.com> Kevin Shi <techishi[AT]ms22.hinet.net> Mike Frisch <mfrisch[AT]isurfer.ca> Burke Lau <burke_lau[AT]agilent.com> Martti Kuparinen <martti.kuparinen[AT]iki.fi> David Hampton <dhampton[AT]mac.com> Kent Engström <kent[AT]unit.liu.se> Ronnie Sahlberg <ronnie_sahlberg[AT]ozemail.com.au> Borosa Tomislav <tomislav.borosa[AT]SIEMENS.HR> Alexandre P. Ferreira <alexandref[AT]tcoip.com.br> Simharajan Srishylam <Simharajan.Srishylam[AT]netapp.com> Greg Kilfoyle <gregk[AT]redback.com> James E. Flemer <jflemer[AT]acm.jhu.edu> Peter Lei <peterlei[AT]cisco.com> Thomas Gimpel <thomas.gimpel[AT]ferrari.de> Albert Chin <china[AT]thewrittenword.com> Charles Levert <charles[AT]comm.polymtl.ca> Todd Sabin <tas[AT]webspan.net> Eduardo Pérez Ureta <eperez[AT]dei.inf.uc3m.es> Martin Thomas <martin_a_thomas[AT]yahoo.com> Hartmut Mueller <hartmut[AT]wendolene.ping.de> Michal Melerowicz <Michal.Melerowicz[AT]nokia.com> Hannes Gredler <hannes[AT]juniper.net> Inoue <inoue[AT]ainet.or.jp> Olivier Biot <obiot.ethereal[AT]gmail.com> Patrick Wolfe <pjw[AT]zocalo.cellular.ameritech.com> Martin Held <Martin.Held[AT]icn.siemens.de> Riaan Swart <rswart[AT]cs.sun.ac.za> Christian Lacunza <celacunza[AT]gmx.net> Scott Renfro <scott[AT]renfro.org> Juan Toledo <toledo[AT]users.sourceforge.net> Jean-Christian Pennetier <jeanchristian.pennetier[AT]rd.francetelecom.fr> Jian Yu <bgp4news[AT]yahoo.com> Eran Mann <emann[AT]opticalaccess.com> Andy Hood <ajhood [AT] fl.net.au> Randy McEoin <rmceoin[AT]ahbelo.com> Edgar Iglesias <edgar.iglesias[AT]axis.com> Martina Obermeier <Martina.Obermeier[AT]icn.siemens.de> Javier Achirica <achirica[AT]ttd.net> B. Johannessen <bob[AT]havoq.com> Thierry Pelle <thierry.pelle[AT]laposte.net> Francisco Javier Cabello <fjcabello[AT]vtools.es> Laurent Rabret <laurent.rabret[AT]rd.francetelecom.fr> nuf si <gnippiks[AT]yahoo.com> Jeff Morriss <jeff.morriss[AT]ulticom.com> Aamer Akhter <aakhter[AT]cisco.com> Pekka Savola <pekkas[AT]netcore.fi> David Eisner <cradle[AT]Glue.umd.edu> Steve Dickson <steved[AT]talarian.com> Markus Seehofer <mseehofe[AT]nt.hirschmann.de> Lee Berger <lberger[AT]roy.org> Motonori Shindo <mshindo[AT]mshindo.net> Terje Krogdahl <tekr[AT]nextra.com> Jean-Francois Mule <jfm[AT]cablelabs.com> Thomas Wittwer <thomas.wittwer[AT]iclip.ch> Matthias Nyffenegger <matthias.nyffenegger[AT]iclip.ch> Palle Lyckegaard <Palle[AT]lyckegaard.dk> Nicolas Balkota <balkota[AT]mac.com> Tom Uijldert <Tom.Uijldert[AT]cmg.nl> Akira Endoh <endoh[AT]netmarks.co.jp> Graeme Hewson <graeme.hewson[AT]oracle.com> Pasi Eronen <pe[at]iki.fi> Georg von Zezschwitz <gvz[AT]2scale.net> Steffen Weinreich <steve[AT]weinreich.org> Marc Milgram <ethereal[AT]mmilgram.NOSPAMmail.net> Gordon McKinney <gordon[AT]night-ray.com> Pavel Novotny <Pavel.Novotny[AT]icn.siemens.de> Shinsuke Suzuki <suz[AT]kame.net> Andrew C. Feren <acferen[AT]yahoo.com> Tomas Kukosa <tomas.kukosa [AT] siemens.com> Andreas Stockmeier <a.stockmeier[AT]avm.de> Pekka Nikander <pekka.nikander[AT]nomadiclab.com> Hamish Moffatt <hamish[AT]cloud.net.au> Kazushi Sugyo <k-sugyou[AT]nwsl.mesh.ad.jp> Tim Potter <tpot[AT]samba.org> Raghu Angadi <rangadi[AT]inktomi.com> Taisuke Sasaki <sasaki[AT]soft.net.fujitsu.co.jp> Tim Newsham <newsham[AT]lava.net> Tom Nisbet <Tnisbet[AT]VisualNetworks.com> Darren New <dnew[AT]san.rr.com> Pavel Mores <pvl[AT]uh.cz> Bernd Becker <bb[AT]bernd-becker.de> Heinz Prantner <Heinz.Prantner[AT]radisys.com> Irfan Khan <ikhan[AT]qualcomm.com> Jayaram V.R <vjayar[AT]cisco.com> Dinesh Dutt <ddutt[AT]cisco.com> Nagarjuna Venna <nvenna[AT]Brixnet.com> Jirka Novak <j.novak[AT]netsystem.cz> Ricardo Barroetaveña <rbarroetavena[AT]veufort.com> Alan Harrison <alanharrison[AT]mail.com> Mike Frantzen <frantzen[AT]w4g.org> Charlie Duke <cduke[AT]fvc.com> Alfred Arnold <Alfred.Arnold[AT]elsa.de> Dermot Bradley <dermot.bradley[AT]openwave.com> Adam Sulmicki <adam[AT]cfar.umd.edu> Kari Tiirikainen <kari.tiirikainen[AT]nokia.com> John Mackenzie <John.A.Mackenzie[AT]t-online.de> Peter Valchev <pvalchev[AT]openbsd.org> Alex Rozin <Arozin[AT]mrv.com> Jouni Malinen <jkmaline[AT]cc.hut.fi> Paul E. Erkkila <pee[AT]erkkila.org> Jakob Schlyter <jakob[AT]openbsd.org> Jim Sienicki <sienicki[AT]issanni.com> Steven French <sfrench[AT]us.ibm.com> Diana Eichert <deicher[AT]sandia.gov> Blair Cooper <blair[AT]teamon.com> Kikuchi Ayamura <ayamura[AT]ayamura.org> Didier Gautheron <dgautheron[AT]magic.fr> Phil Williams <csypbw[AT]comp.leeds.ac.uk> Kevin Humphries <khumphries[AT]networld.com> Erik Nordström <erik.nordstrom[AT]it.uu.se> Devin Heitmueller <dheitmueller[AT]netilla.com> Chenjiang Hu <chu[AT]chiaro.com> Kan Sasaki <sasaki[AT]fcc.ad.jp> Stefan Wenk <stefan.wenk[AT]gmx.at> Ruud Linders <ruud[AT]lucent.com> Andrew Esh <Andrew.Esh[AT]tricord.com> Greg Morris <GMORRIS[AT]novell.com> Dirk Steinberg <dws[AT]dirksteinberg.de> Kari Heikkila <kari.o.heikkila[AT]nokia.com> Olivier Dreux <Olivier.Dreux[AT]alcatel.fr> Michael Stiller <ms[AT]2scale.net> Antti Tuominen <ajtuomin[AT]tml.hut.fi> Martin Gignac <lmcgign[AT]mobilitylab.net> John Wells <wells[AT]ieee.org> Loic Tortay <tortay[AT]cc.in2p3.fr> Steve Housley <Steve_Housley[AT]eur.3com.com> Peter Hawkins <peter[AT]hawkins.emu.id.au> Bill Fumerola <billf[AT]FreeBSD.org> Chris Waters <chris[AT]waters.co.nz> Solomon Peachy <pizza[AT]shaftnet.org> Jaime Fournier <Jaime.Fournier [AT] hush.com> Markus Steinmann <ms[AT]seh.de> Tsutomu Mieno <iitom[AT]utouto.com> Yasuhiro Shirasaki <yasuhiro[AT]gnome.gr.jp> Anand V. Narwani <anand[AT]narwani.org> Christopher K. St. John <cks[AT]distributopia.com> Nix <nix[AT]esperi.demon.co.uk> Liviu Daia <Liviu.Daia[AT]imar.ro> Richard Urwin <richard[AT]soronlin.org.uk> Prabhakar Krishnan <Prabhakar.Krishnan[AT]netapp.com> Jim McDonough <jmcd[AT]us.ibm.com> Sergei Shokhor <sshokhor[AT]uroam.com> Hidetaka Ogawa <ogawa[AT]bs2.qnes.nec.co.jp> Jan Kratochvil <short[AT]ucw.cz> Alfred Koebler <ak[AT]icon-sult.de> Vassilii Khachaturov <Vassilii.Khachaturov[AT]comverse.com> Bill Studenmund <wrstuden[AT]wasabisystems.com> Brian Bruns <camber[AT]ais.org> Flavio Poletti <flavio[AT]polettix.it> Marcus Haebler <haeblerm[AT]yahoo.com> Ulf Lamping <ulf.lamping[AT]web.de> Matthew Smart <smart[AT]monkey.org> Luke Howard <lukeh[AT]au.padl.com> PC Drew <drewpc[AT]ibsncentral.com> Renzo Tomas <renzo.toma [AT] xs4all.nl> Clive A. Stubbings <eth [AT] vjet.demon.co.uk> Steve Langasek <vorlon [AT] netexpress.net> Brad Hards <bhards[AT]bigpond.net.au> cjs 2895 <cjs2895[AT]hotmail.com> Lutz Jaenicke <Lutz.Jaenicke [AT] aet.TU-Cottbus.DE> Senthil Kumar Nagappan <sknagappan [AT] yahoo.com> Jason House <jhouse [AT] mitre.org> Peter Fales <psfales [AT] lucent.com> Fritz Budiyanto <fritzb88 [AT] yahoo.com> Jean-Baptiste Marchand <Jean-Baptiste.Marchand [AT] hsc.fr> Andreas Trauer <andreas.trauer [AT] siemens.com> Ronald Henderson <Ronald.Henderson [AT] CognicaseUSA.com> Brian Ginsbach <ginsbach [AT] cray.com> Dave Richards <d_m_richards [AT] comcast.net> Martin Regner <martin.regner [AT] chello.se> Jason Greene <jason [AT] inetgurus.net> Marco Molteni <mmolteni [AT] cisco.com> James Harris <jharris [AT] fourhorsemen.org> rmkml <rmkml [AT] wanadoo.fr> Anders Broman <anders.broman [AT] ericsson.com> Christian Falckenberg <christian.falckenberg [AT] nortelnetworks.com> Huagang Xie <xie [AT] lids.org> Pasi Kovanen <Pasi.Kovanen [AT] tahoenetworks.fi> Teemu Rinta-aho <teemu.rinta-aho [AT] nomadiclab.com> Martijn Schipper <martijn.schipper [AT] intersil.com> Wayne Parrott <wayne_p [AT] pacific.net.au> Laurent Meyer <laurent.meyer6 [AT] wanadoo.fr> Lars Roland <Lars.Roland [AT] gmx.net> Miha Jemec <m.jemec [AT] iskratel.si> Markus Friedl <markus [AT] openbsd.org> Todd Montgomery <tmontgom [AT] tibco.com> emre <emre [AT] flash.net> Stephen Shelley <steve.shelley [AT] attbi.com> Erwin Rol <erwin [AT] erwinrol.com> Duncan Laurie <duncan [AT] sun.com> Tony Schene <schene [AT] pcisys.net> Matthijs Melchior <mmelchior [AT] xs4all.nl> Garth Bushell <gbushell [AT] elipsan.com> Mark C. Brown <mbrown [AT] hp.com> Can Erkin Acar <canacar [AT] eee.metu.edu.tr> Martin Warnes <martin.warnes [AT] ntlworld.com> J Bruce Fields <bfields [AT] fieldses.org> tz <tz1 [AT] mac.com> Jeff Liu <jqliu [AT] broadcom.com> Niels Koot <Niels.Koot [AT] logicacmg.com> Lionel Ains <lains [AT] gmx.net> Joakim Wiberg <jow [AT] hms-networks.com> Jeff Rizzo <riz [AT] boogers.sf.ca.us> Christoph Wiest <ch.wiest [AT] tesionmail.de> Xuan Zhang <xz [AT] aemail4u.com> Thierry Martin <thierry.martin [AT] accellent-group.com> Oleg Terletsky <oleg.terletsky [AT] comverse.com> Michael Lum <mlum [AT] telostech.com> Shiang-Ming Huang <smhuang [AT] pcs.csie.nctu.edu.tw> Tony Lindstrom <tony.lindstrom [AT] ericsson.com> Niklas Ogren <niklas.ogren [AT] 71.se> Jesper Peterson <jesper [AT] endace.com> Giles Scott <gscott [AT] arubanetworks.com> Vincent Jardin <vincent.jardin [AT] 6wind.com> Jean-Michel Fayard <jean-michel.fayard [AT] moufrei.de> Josef Korelus <jkor [AT] quick.cz> Brian K. Teravskis <Brian_Teravskis [AT] Cargill.com> Nathan Jennings <njen [AT] triad.rr.com> Hans Viens <hviens [AT] mediatrix.com> Kevin A. Noll <kevin.noll [AT] versatile.com> Emanuele Caratti <wiz [AT] libero.it> Graeme Reid <graeme.reid [AT] norwoodsystems.com> Lars Ruoff <lars.ruoff [AT] sxb.bsf.alcatel.fr> Samuel Qu <samuel.qu [AT] utstar.com> Baktha Muralitharan <muralidb [AT] cisco.com> Loïc Minier <lool [AT] dooz.org> Marcel Holtmann <marcel [AT] holtmann.org> Scott Emberley <scotte [AT] netinst.com> Brian Fundakowski Feldman <bfeldman [AT] fla.fujitsu.com> Yuriy Sidelnikov <ysidelnikov [AT] hotmail.com> Matthias Drochner <M.Drochner [AT] fz-juelich.de> Dave Sclarsky <dave_sclarsky [AT] cnt.com> Scott Hovis <scott.hovis [AT] ums.msfc.nasa.gov> David Fort <david.fort [AT] irisa.fr> Martijn Schipper <mschipper [AT] globespanvirata.com> Felix Fei <felix.fei [AT] utstar.com> Christoph Neusch <christoph.neusch [AT] nortelnetworks.com> Jan Kiszka <jan.kiszka [AT] web.de> Joshua Craig Douglas <jdouglas [AT] enterasys.com> Dick Gooris <gooris [AT] alcatel-lucent.com> Michael Shuldman <michaels [AT] inet.no> Tadaaki Nagao <nagao [AT] iij.ad.jp> Aaron Woo <woo [AT] itd.nrl.navy.mil> Chris Wilson <chris [AT] mxtelecom.com> Rolf Fiedler <Rolf.Fiedler [AT] Innoventif.com> Alastair Maw <ethereal [AT] almaw.com> Sam Leffler <sam [AT] errno.com> Martin Mathieson <martin.r.mathieson [AT] googlemail.com> Christian Wagner <Christian.Wagner [AT] stud.uni-karlsruhe.de> Edwin Calo <calo [AT] fusemail.com> Ian Schorr <ischorr [AT] comcast.net> Rowan McFarland <rmcfarla[AT]cisco.com> John Engelhart <johne [AT] zang.com> Ryuji Somegawa <ryuji-so [AT] is.aist-nara.ac.jp> metatech <metatech [AT] flashmail.com> Brian Wheeler <Brian.Wheeler [AT] arrisi.com> Josh Bailey <joshbailey [AT] lucent.com> Jelmer Vernooij <jelmer [AT] samba.org> Duncan Sargeant <dunc-ethereal-dev [AT] rcpt.to> Love Hörnquist Åstrand <lha [AT] it.su.se> Lukas Pokorny <maskis [AT] seznam.cz> Carlos Pignataro <cpignata [AT] cisco.com> Thomas Anders <thomas.anders [AT] blue-cable.de> Rich Coe <Richard.Coe [AT] med.ge.com> Dominic Béchaz <bdo [AT] zhwin.ch> Richard van der Hoff <richardv [AT] mxtelecom.com> Shaun Jackman <sjackman [AT] gmail.com> Jon Oberheide <jon [AT] oberheide.org> Henry Ptasinski <henryp [AT] broadcom.com> Roberto Morro <Roberto.Morro [AT] TILAB.COM> Chris Maynard <Christopher.Maynard [AT] GTECH.COM> SEKINE Hideki <sekineh [AT] gf7.so-net.ne.jp> Jeff Connelly <shellreef+mp2p [AT] gmail.com> Irene Rüngle <i.ruengeler [AT] fh-muenster.de M. Ortega y Strupp <moys [AT] loplof.de> Kelly Byrd <kbyrd-ethereal [AT] memcpy.com> Luis Ontanon <luis.ontanon[AT]gmail.com> Luca Deri <deri [AT] ntop.org> Viorel Suman <vsuman [AT] avmob.ro> Alejandro Vaquero <alejandro.vaquero [AT] verso.com> Francesco Fondelli <francesco.fondelli [AT] gmail.com> Bill Meier <wmeier [AT] newsguy.com> Susanne Edlund <Susanne.Edlund [AT] ericsson.com> Victor Stratan <hidralisk [AT] yahoo.com> Peter Johansson <PeterJohansson73 [AT] gmail.com> Stefan Metzmacher <metze [AT] samba.org> Abhijit Menon-Sen <ams [AT] oryx.com> James Fields <jvfields [AT] tds.net> Kevin Johnson <kjohnson [AT] secureideas.net> Mike Duigou <bondolo [AT] dev.java.net> Deepak Jain <jain1971 [AT] yahoo.com> Stefano Pettini <spettini [AT] users.sourceforge.net> Jon Ringle <ml-ethereal [AT] ringle.org> Tim Endean <endeant [AT] hotmail.com> Charlie Lenahan <clenahan [AT] fortresstech.com> Takeshi Nakashima <T.Nakashima [AT] jp.yokogawa.com> Shoichi Sakane <sakane [AT] tanu.org> Michael Richardson <Michael.Richardson [AT] protiviti.com> Olivier Jacques <olivier.jacques [AT] hp.com> Francisco Alcoba <francisco.alcoba [AT] ericsson.com> Nils O. Selåsdal <noselasd [AT] asgaard.homelinux.org> Guillaume Chazarain <guichaz [AT] yahoo.fr> Angelo Bannack <angelo.bannack[AT]siemens.com> Paolo Frigo <paolofrigo [AT] gmail.com> Jeremy J Ouellette <jouellet [AT] scires.com> Aboo Valappil <valappil_aboo [AT] emc.com> Fred Hoekstra <fred.hoekstra [AT] philips.com> Ankur Aggarwal <ankur [AT] in.athenasemi.com> Viorel Suman <vsuman [AT] avmob.ro> Lucian Piros <lpiros [AT] avmob.ro> Juan Gonzalez <juan.gonzalez [AT] pikatech.com> Brian Bogora <brian_bogora [AT] mitel.com> Jim Young <sysjhy [AT] langate.gsu.edu> Jeff Snyder <jeff [AT] mxtelecom.com> William Fiveash <William.Fiveash [AT] sun.com> Graeme Lunt <graeme.lunt [AT] smhs.co.uk> Menno Andriesse <s5066 [AT] nc3a.nato.int> Stig Bjørlykke <stig [AT] bjorlykke.org> Kyle J. Harms <kyle.j.harms [AT] boeing.com> Eric Wedel <ewedel [AT] bluearc.com> Secfire <secfire[AT]gmail.com> Eric Hultin <Eric.Hultin[AT]arrisi.com> Paolo Abeni <paolo.abeni [AT] email.it> W. Borgert <debacle [AT] debian.org> Frederic Roudaut <frederic.roudaut [AT] irisa.fr> Christoph Scholz <scholz_ch [AT] web.de> Wolfgang Hansmann <hansmann [AT] cs.uni-bonn.de> Kees Cook <kees [AT] outflux.net> Thomas Dreibholz <dreibh [AT] exp-math.uni-essen.de> Authesserre Samuel <sauthess [AT] gmail.com> Balint Reczey <balint.reczey [AT] ericsson.com> Stephen Fisher <stephentfisher [AT] yahoo.com> Krzysztof Burghardt <krzysztof [AT] burghardt.pl> Peter Racz <racz [AT] ifi.unizh.ch> Jakob Bratkovic <j.bratkovic [AT] iskratel.si> Mark Lewis <mlewis [AT] altera.com> Dominic Bechaz <bdo [AT] zhwin.ch> David Buechi <bhd [AT] zhwin.ch> Bill Florac <bill.florac [AT] etcconnect.com> Alex Burlyga <Alex.Burlyga [AT] netapp.com> Douglas Pratley <Douglas.pratley [AT] detica.com> Giorgio Tino <giorgio.tino [AT] cacetech.com> Davide Schiera <davide.schiera [AT] cacetech.com> Sebastien Tandel <sebastien [AT] tandel.be> Clay Jones <clay.jones [AT] email.com> Kriang Lerdsuwanakij <lerdsuwa [AT] users.sourceforge.net> Abhik Sarkar <sarkar.abhik [AT] gmail.com> Robin Seggelmann <seggelmann [AT] fh-muenster.de> Chris Bontje <cbontje [AT] gmail.com> Ryan Wamsley <wamslers [AT] sbcglobal.net> Dave Butt <davidbutt [AT] mxtelecom.com> Julian Cable <julian_cable [AT] yahoo.com> Joost Yervante Damad <joost [AT] teluna.org> Martin Sustrik <sustrik [AT] imatix.com> Jon Smirl <jonsmirl [AT] gmail.com> David Kennedy <sgsguy [AT] gmail.com> Matthijs Mekking <matthijs [AT] mlnetlabs.nl> Dustin Johnson <dustin [AT] dustinj.us> Victor Fajardo <vfajardo [AT] tari.toshiba.com> Tamas Regos <tamas.regos [AT] ericsson.com> Môshe van der Sterre <moshevds [AT] gmail.com> Rob Casey <rcasey [AT] gmail.com> Ted Percival <ted [AT] midg3t.net> Marc Petit-Huguenin <marc [AT] petit-huguenin.org> Florent Drouin <florent.drouin [AT] alcatel-lucent.fr> Karen Feng <kfeng [AT] fas.harvard.edu> Stephen Croll <croll [AT] mobilemetrics.net> Jens Bräuer <jensb [AT] cs.tu-berlin.de> Sake Blok <sake [AT] euronet.nl> Fulko Hew <fulko.hew [AT] gmail.com> Yukiyo Akisada <Yukiyo.Akisada [AT] jp.yokogawa.com> Andy Chu <chu.dev [AT] gmail.com> Shane Kearns <shane.kearns [AT] symbian.com> Thomas Dreibholz <dreibh [AT] iem.uni-due.de> Loris Degioanni <loris.degioanni [AT] cacetech.com> Sven Meier <msv [AT] zhwin.ch> Holger Pfrommer <hpfrommer [AT] hilscher.com> Hariharan Ananthakrishnan <hariharan.a [AT] gmail.com> Hannes Kälber <hannes.kaelber--wireshark [AT] x2e.de> Stephen Donnelly <stephen [AT] endace.com> Philip Frey <frey.philip [AT] gmail.com> Shigeo Nakamura <naka_shigeo [AT] yahoo.co.jp> Sven Eckelmann <lazhur [AT] gmx.de> Edward J. Paradise <pdice [AT] cisco.com> Brian Stormont <nospam [AT] stormyprods.com> Vincent Helfre <vincent.helfre [AT] ericsson.com> Brooss <brooss.teambb [AT] gmail.com> Joan Ramió <joan[AT]ramio.cat> David Castleford <david.castleford [AT] orange-ftgroup.com> Martin Lutz <MartinL [AT] copadata.at> Johnny Mitrevski <mitrevj [AT] hotmail.com> and by:
Pavel Roskin <proski [AT] gnu.org> Georgi Guninski <guninski [AT] guninski.com> Jason Copenhaver <jcopenha [AT] typedef.org> Eric Perie <eric.perie [AT] colubris.com> David Yon <yon [AT] tacticalsoftware.com> Marcio Franco <franco.marcio [AT] rd.francetelecom.fr> Kaloian Stoilov <kalkata [AT] yahoo.com> Steven Lass <stevenlass [AT] mail.com> Gregory Stark <gsstark [AT] mit.edu> Darren Steele <steeley [AT] steeley.co.uk> <smhuang [AT] pcs.csie.nctu.edu.tw> Michael Kopp <michael.kopp [AT] isarnet.de> Bernd Leibing <bernd.leibing [AT] kiz.uni-ulm.de> Chris Heath <chris [AT] heathens.co.nz> Gisle Vanem <giva [AT] bgnett.no> Ritchie <ritchie [AT] tipsybottle.com> Aki Immonen <aki.immonen [AT] golftalma.fi> David E. Weekly <david [AT] weekly.org> Steve Ford <sford [AT] geeky-boy.com> Masaki Chikama <masaki-c [AT] is.aist-nara.ac.jp> Mohammad Hanif <mhanif [AT] nexthop.com> Reinhard Speyerer <rspmn [AT] arcor.de> Patrick Kursawe <phosphan [AT] gentoo.org> Arsen Chaloyan <achaloyan [AT] yahoo.com> <melerski [AT] poczta.onet.pl> Arnaud Jacques <webmaster [AT] securiteinfo.com> D. Manzella <manzella [AT] lucent.com> Jari Mustajarvi <jari.mustajarvi [AT] nokia.com> Joost Yervante Damad <Joost.Damad [AT] siemens.com> Pierre Juhen <pierre.juhen [AT] wanadoo.fr> David Richards <drichards [AT] alum.mit.edu> Shusaku Ueda <ueda [AT] sra.co.jp> Jonathan Perkins <jonathan.perkins [AT] ipaccess.com> Holger Schurig <h.schurig [AT] mn-logistik.de> Peter J. Creath <peter-ethereal [AT] creath.net> Magnus Hansson <mah [AT] hms.se> Pavel Kankovsky <kan [AT] dcit.cz> Nick Black <dank [AT] reflexsecurity.com> Bill Guyton <guyton [AT] bguyton.com> Chernishov Yury <Chernishov [AT] iskrauraltel.ru> Thomas Palmer <Thomas.Palmer [AT] Gunter.AF.mil> Clinton Work <clinton [AT] scripty.com> Joe Marcus Clarke <marcus [AT] marcuscom.com> Kendy Kutzner <kutzner[AT]tm.uka.de> James H. Cloos Jr. <cloos [AT] jhcloos.com> Tim Farley <tfarley[AT]iss.net> Daniel Thompson <daniel.thompson[AT]st.com> Chris Jepeway <thai-dragon[AT]eleven29.com> Matthew Bradley <matthew.bradley [AT] cnsonline.net> Nathan Alger <nathan [AT] wasted.com> Stas Grabois <sagig [AT] radware.com> Ainsley Pereira <APereira [AT] Witness.com> Philippe Mazeau <philippe.mazeau [AT] swissvoice.net> Carles Kishimoto <ckishimo [AT] ac.upc.es> Dennis Lim <Dennis.Lim [AT] motorola.com> <postadal [AT] suse.cz> Martin van der Werff <martin [AT] vanderwerff.org> Marco van den Bovenkamp <marco [AT] linuxgoeroe.dhs.org> Ming Zhang <mingz [AT] ele.uri.edu> Neil Piercy <Neil.Piercy [AT] ipaccess.com> Rémi Denis-Courmont <courmisch [AT] via.ecp.fr> Thomas Palmer <tpalmer [AT] elmore.rr.com> Mårten Svantesson <f95-msv [AT] f.kth.se> Thomas Boehne <TBoehne [AT] ADwin.de> Steve Sommars (e-mail address removed at contributor's request) Kestutis Kupciunas <kesha [AT] soften.ktu.lt> René Pilz <rene.pilz [AT] ftw.at> Laurent Constantin <laurent.constantin [AT] aql.fr> Martin Pichlmaier <martin.pichlmaier [AT] siemens.com> Mark Phillips <msp [AT] nortelnetworks.com> Nils Ohlmeier <lists [AT] ohlmeier.org> Ignacio Goyret <igoyret [AT] lucent.com> Bart Braem <bart.braem [AT] gmail.com> Shingo Horisawa <name4n5 [AT] hotmail.com> Lane Hu <lane.hu [AT] utstar.com> Marc Poulhiès <marc.poulhies [AT] epfl.ch> Tomasz Mrugalski <thomson [AT] klub.com.pl> Brett Kuskie <mstrprgmmr [AT] chek.com> Brian Caswell <bmc [AT] sourcefire.com> Yann <yann_eads [AT] hotmail.com> Jon Ringle <ml-ethereal [AT] ringle.org> Julien Leproust <julien [AT] via.ecp.fr> Mutsuya Irie <irie [AT] sakura-catv.ne.jp> Yoshihiro Oyama <y.oyama [AT] netagent.co.jp> Chris Eagle <cseagle [AT] nps.edu> Dominique Bastien <dbastien [AT] accedian.com> Nicolas Dichtel <nicolas.dichtel [AT] 6wind.com> Ricardo Muggli <ricardo.muggli [AT] mnsu.edu> Vladimir Kondratiev <vladimir.kondratiev [AT] gmail.com> Jaap Keuter <jaap.keuter [AT] xs4all.nl> Frederic Peters <fpeters [AT] debian.org> Anton Ivanov <anthony_johnson [AT] mail.ru> Ilya Konstantinov <future [AT] shiny.co.il> Neil Kettle <mu-b [AT] 65535.com> Steve Karg <skarg [AT] users.sourceforge.net> Javier Acuna <javier.acuna [AT] sixbell.cl> Miklos Szurdi <szurdimiklos [AT] yahoo.com> Cvetan Ivanov <zezo [AT] spnet.net> Vasanth Manickam <vasanth.manickam [AT] bt.com> Julian Onions <julian.onions [AT] gmail.com> Samuel Thibault <samuel.thibault [AT] ens-lyon.org> Peter Kovář <peter.kovar [AT] gmail.com> Paul Ollis <paul.ollis [AT] roke.co.uk> Dominik Kuhlen <dkuhlen [AT] gmx.net> Karl Knoebl <karl.knoebl [AT] siemens.com> Maria-Luiza Crivat <luizacri [AT] gmail.com> Brice Augustin <bricecotte [AT] gmail.com> Matt Thornton <MATT_THORNTON [AT] appsig.com> Markus Seehofer <Markus.Seehofer [AT] hirschmann.de> Matthias Drochner <M.Drochner [AT] fz-juelich.de> Timo Metsala <timo.metsala [AT] gmail.com> Manu Pathak <mapathak [AT] cisco.com> Kaul <mykaul [AT] gmail.com> John Sullivan <john [AT] kanargh.force9.co.uk> Martin André <andre [AT] clarinet.u-strasbg.fr> Andrei Emeltchenko <Andrei.Emeltchenko [AT] nokia.com> Kirby Files <kfiles [AT] masergy.com> Ravi Valmikam <rvalmikam [AT] airvananet.com> Diego Pettenò <flameeyes [AT] gentoo.org> Daniel Black <dragonheart [AT] gentoo.org> Christoph Werle <Christoph.Werle [AT] ira.uka.de> Aaron Christensen <aaronmf [AT] gmail.com> Ian Abel <ianabel [AT] mxtelecom.com> Bryant Eastham <beastham [AT] slc.mew.com> Taner Kurtulus <taner.kurtulus [AT] tubitak.gov.tr> Joe Breher <linux [AT] q-music.com> Patrick vd Lageweg <patrick [AT] bitwizard.nl> Thomas Sillaber <Thomas.Sillaber [AT] gmx.de> Mike Davies <m.davies [AT] btinternet.com> Boris Misenov <Boris.Misenov [AT] oktelabs.ru> Joe McEachern <joe [AT] qacafe.com> Charles Lepple <clepple [AT] gmail.com> Tuomas Maattanen <maattanen [AT] iki.fi> Joe Eykholt <joe [AT] nuovasystems.com> Ian Brumby <ian.brumby [AT] baesystems.com> Todd J Martin <todd.martin [AT] acm.org> Scott Robinson <scott.robinson [AT] flukenetworks.com> Martin Peylo <wireshark [AT] izac.de> Stéphane Loeuillet <leroutier [AT] gmail.com> Andrei Rubaniuk <rubaniuk [AT] mail.ru> Mikael Magnusson <mikma264 [AT] gmail.com> Timo Teräs <timo.teras [AT] iki.fi> Márton Németh <nm127 [AT] freemail.hu> Kai Blin <kai [AT] samba.org> Olivier Montanuy <olivier.montanuy [AT] orange-ftgroup.com> Thomas Morin <thomas.morin [AT] orange-ftgroup.com> Jesus Roman <jroman [AT] teldat.com> Giodi Giorgi <g.giorgi [AT] gmail.com> Peter Hertting <Peter.Hertting [AT] gmx.net> Jess Balint <jbalint [AT] gmail.com> Bahaa Naamneh <b.naamneh [AT] gmail.com> David Aggeler <david_aggeler [AT] hispeed.ch> Magnus Sörman <magnus.sorman [AT] ericsson.com Pascal Quantin <pascal.quantin [AT] gmail.com> Roy Marples <roy [AT] marples.name> Ward van Wanrooij <ward [AT] ward.nu> Federico Mena Quintero <federico [AT] novell.com>
Alain Magloire <alainm[AT]rcsm.ece.mcgill.ca> was kind enough to give his permission to use his version of snprintf.c.
Dan Lasley <dlasley[AT]promus.com> gave permission for his
dumpit()
hex-dump routine to be used.Mattia Cazzola <mattiac[AT]alinet.it> provided a patch to the hex dump display routine.
We use the exception module from Kazlib, a C library written by Kaz Kylheku <kaz[AT]ashi.footprints.net>. Thanks go to him for his well-written library. The Kazlib home page can be found at http://users.footprints.net/~kaz/kazlib.html
Henrik Brix Andersen <brix[AT]gimp.org> gave permission for his webbrowser calling routine to be used.
Christophe Devine <c.devine[at]cr0.net> gave permission for his SHA1 routines to be used.
snax <snax[AT]shmoo.com> gave permission to use
his(?)
weak key detection code from Airsnort.IANA gave permission for their port-numbers file to be used.