Ethereal (Ethereal:A Network Packet Sniffing Tool)是当前较为流行的一种计算机网路调试和数据包嗅探软体。Ethereal 基本类似于tcpdump,但Ethereal 还具有设计完美的 GUI 和众多分类信息及过滤选项。用户通过 Ethereal,同时将网卡插入混合模式,可以查看到网路中传送的所有通信流量。 Ethereal 套用于故障修复、分析、软体和协定开发以及教育领域。它具有用户对协定分析器所期望的所有标準特徵,并具有其它同类产品所不具备的有关特徵。
基本介绍
- 外文名:ethereal
- 类别:计算机网路调试和数据包嗅探软体
- 套用範围: Unix、Linux 和 Windows
- 连线埠号:ACAP 674
- 安装:winpcap、Ethereal
- Ethereal使用:capture选项
发展简史
1997年底,Gerald Combs需要一个能够追蹤网路流量的工具软体作为其工作上的辅助。因此他开始撰写Ethereal软体。
Ethereal 在经过几次中断开发的事件过后,终于在1998年7月发布其第一个版本 v0.2.0。自此之后,Combs收到了来自全世界的补丁、错误回报与鼓励信件。Ethereal的发展就此开始。不久之后,Gilbert Ramirez 看到了这套软体的开发潜力并开始参予低级程式的开发。1998年10月,来自 Network Appliance 公司的 Guy Harris 在查找一套比 tcpview(另外一套网路数据包截取程式)更好的软体。于是他也开始参与Ethereal的开发工作。
1998年底,一位在教授 TCP/IP 课程的讲师 Richard Sharpe,看到了这套软体的发展潜力,而后开始参与开发与加入新协定的功能。在当时,新的通信协定的制定并不複杂,因此他开始在Ethereal上新增的数据包截取功能,几乎包含了当时所有通信协定。
自此之后,数以千计的人开始参与Ethereal的开发,多半是因为希望能让Ethereal截取特定的,尚未包含在Ethereal默认的网路协定的数据包而参予新的开发。
2006年6月,因为商目标问题,Ethereal更名为Wireshark。
软体特徵
Ethereal 主要具有以下特徵:
Ethereal软体封面

在实时时间内,从网路连线处捕获数据,或者从被捕获档案处读取数据;
Ethereal 可以读取从 tcpdump(libpcap)、网路通用嗅探器(被压缩和未被压缩)、SnifferTM 专业版、NetXrayTM、Sun snoop 和 atmsnoop、Shomiti/Finisar 测试员、AIX 的 iptrace、Microsoft 的网路监控器、Novell 的 LANalyzer、RADCOM 的 WAN/LAN 分析器、 ISDN4BSD 项目的 HP-UX nettl 和 i4btrace、Cisco 安全 IDS iplog 和 pppd 日誌( pppdump 格式)、WildPacket 的 EtherPeek/TokenPeek/AiroPeek 或者可视网路的可视 UpTime 处捕获的档案。此外 Ethereal 也能从 Lucent/Ascend WAN 路由器和 Toshiba ISDN 路由器中读取跟蹤报告,还能从 VMS 的 TCPIP 读取输出文本和 DBS Etherwatch。
从乙太网、FDDI、PPP、令牌环、IEEE 802.11、ATM 上的 IP 和迴路接口(至少是某些系统,不是所有系统都支持这些类型)上读取实时数据。
通过 GUI 或 TTY 模式 tethereal 程式,可以访问被捕获的网路数据。
通过 editcap 程式的命令行交换机,有计画地编辑或修改被捕获档案。
当前602协定可被分割。
输出档案可以被保存或列印为纯文本或 PostScript格式。
通过显示过滤器精确显示数据。
显示过滤器也可以选择性地用于高亮区和颜色包摘要信息。
所有或部分被捕获的网路跟蹤报告都会保存到磁碟中。
系统介绍
Ethereal是一个开放源码的网路分析系统,也是是目前最好的开放源码的网路协定分析器,支持Linux和windows平台。Ethereal起初由Gerald Combs开发,随后由一个鬆散的Etheral团队组织进行维护开发。它目前所提供的强大的协定分析功能完全可以媲美商业的网路分析系统,自从1998年发布最早的0.2版本至今,大量的志愿者为Ethereal添加新的协定解析器,如今Ethereal已经支持五百多种协定解析。很难想像如此多的人开发的代码可以很好的融入系统中;并且在系统中加入一个新的协定解析器很简单,一个不了解系统的结构的新手也可以根据留出的接口进行自己的协定开发。这都归功于Ehereal良好的设计结构。事实上由于网路上各种协定种类繁多,各种新的协定层出不穷。一个好的协定分析器必需有很好的可扩展性和结构。这样才能适应网路发展的需要不断加入新的协定解析器。
1 Ethereal的捕包平台
网路分析系统首先依赖于一套捕捉网路数据包的函式馆。这套函式馆工作在在网路分析系统模组的最底层。作用是从网卡取得数据包或者根据过滤规则取出数据包的子集,再转交给上层分析模组。从协定上说,这套函式馆将一个数据包从链路层接收,至少将其还原至传输层以上,以供上层分析。
在Linux系统中, 1992年Lawrence Berkeley Lab的Steven McCanne和Van Jacobson提出了包过滤器的一种的实现,BPF(BSD Packet Filter)。Libpcap是一个基于BPF的开放源码的捕包函式馆。现有的大部分Linux捕包系统都是基于这套函式馆或者是在它基础上做一些针对性的改进。
在window系统中,义大利人Fulvio Risso和Loris Degioanni提出并实现了Winpcap函式馆,作者称之为NPF。由于NPF的主要思想就是来源于BPF,它的设计目标就是为windows系统提供一个功能强大的开发式数据包捕获平台,希望在Linux系统中的网路分析工具经过简单编译以后也可以移植到windows中,因此这两种捕包架构是非常相似的。就实现来说提供的函式调用接口也是一致的。
Ethereal网路分析系统也需要一个底层的抓包平台,在Linux中是採用Libpcap函式馆抓包,在windows系统中採用winpcap函式馆抓包。
2 层次化的数据包协定分析方法
取得捕包函式捕回的数据包后就需要进行协定分析和协定还原工作了。由于OSI的7层协定模型,协定数据是从上到下封装后传送的。对于协定分析需要从下至上进行。首先对网路层的协定识别后进行组包还原然后脱去网路层协定头。将里面的数据交给传输层分析,这样一直进行下去直到套用层。
Ip
| \
Tcp udp
| \
HTTP TFTP
由于网路协定种类很多,就Ethereal所识别的500多种协定来说,为了使协定和协定间层次关係明显。从而对数据流里的各个层次的协定能够逐层处理。Ethereal系统採用了协定树的方式。上图就是一个简单的协定树。如果协定A的所有数据都是封装在协定B里的,那幺这个协定A就是协定B是另外一个协定的儿子节点。我们将最低层的无结构数据流作为根接点。那幺具有相同父节点的协定成为兄弟节点。那幺这些拥有同样父协定兄弟节点协定如何互相区分了?Ethereal系统採用协定的特徵字来识别。每个协定会注册自己的特徵字。这些特徵字给自己的子节点协定提供可以互相区分开来的标识。比如tcp协定的port栏位注册后。 Tcp.port=21就可以认为是ftp协定, 特徵字可以是协定规範定义的任何一个栏位。比如ip协定就可以定义proto栏位为一个特徵字。
在Ethereal中注册一个协定解析器首先要指出它的父协定是什幺。另外还要指出自己区别于父节点下的兄弟接点协定的特徵。比如ftp协定。在Ethereal中他的父接点是tcp协定,它的特徵就是tcp协定的port栏位为21。
这样当一个连线埠为21的tcp数据流来到时。首先由tcp协定注册的解析模组处理,处理完之后通过查找协定树找到自己协定下面的子协定,判断应该由那个子协定来执行,找到正确的子协定后,就转交给ftp注册的解析模组处理。这样由根节点开始一层层解析下去。
由于採用了协定树加特徵字的设计,这个系统在协定解析上由了很强的扩展性,增加一个协定解析器只需要将解析函式挂到协定树的相应节点上即可。
3 基于外挂程式技术的协定分析器
所谓外挂程式技术,就是在程式的设计开发过程中,把整个应用程式分成宿主程式和外挂程式两个部分,宿主程式与外挂程式能够相互通信,并且,在宿主程式不变的情况下,可以通过增减外挂程式或修改外挂程式来调整应用程式的功能。运用外挂程式技术可以开发出伸缩性良好、便于维护的应用程式。它着名的套用实例有:媒体播放器winamp、微软的网路浏览器ie等。
由于现在网路协定种类繁多,为了可以随时增加新的协定分析器,一般的协定分析器都採用外挂程式技术,这样如果需要对一个新的协定分析只需要开发编写这个协定分析器并调用注册函式在系统注册就可以使用了。通过增加外挂程式使程式有很强的可扩展性,各个功能模组内聚。
在协定分析器中新增加一个协定外挂程式一般需要外挂程式安装或者注册,外挂程式初始化,外挂程式处理3个步骤,下面以Ethereal为例进行分析如何利用外挂程式技术新增加一个协定分析模组。
Ethereal由于採用外挂程式技术,一个新加入开发的程式设计师开发一种新的协定分析模组的时候不需要了解所有的代码,他只需要写好这个协定模组的函式后,写一个格式为proto_reg_handoff_XXX的函式,在函式内调用注册函式告诉系统在什幺时候需要调用这个协定模组。比如
你事先写好了一个名为dissect_myprot的协定解析模组,它是用来解析tcp协定连线埠为250的数据。可以利用这些语句来将这个解析器注册到系统中
proto_reg_handoff_myprot(void)
{
dissector_handle_t myprot_handle;
myprot_handle = create_dissector_handle(dissect_myprot,
proto_myprot);
dissector_add("tcp.port", 250, myprot_handle);
}
这段代码告诉系统当tcp协定数据流连线埠为250的时候要调用dissect_myprot这个函式模组。
在Ethereal中有一个脚本专门来发现开发者定义的类式proto_reg_handoff_xxx这样的注册函式名,然后自动生成调用这些注册函式的代码。这样开发者不需要知道自己的注册函式如何被调用的。这样一个新的协定分析模组就加入到系统中了。
由于採用了外挂程式方式,Ethereal良好的结构设计让开发者只需要关係自己开发的协定模组,不需要关心整个系统结构,需要将模组整合进系统只需要写一个注册函式即可,连初始化时调用这个注册函式都由脚本自动完成了。正是因为有很好的体系结构,这个系统才能够开发出如此多的协定解析器。
儘管Ethereal是目前最好的开放源码的网路分析系统,但Ethereal仍然有一些可以改进的地方,一个优秀的网路分析器,儘可能的正确分析出数据协定和高效的处理数据是两个重要的指标。在协定识别方面Ethereal大多採用连线埠识别,有少量协定採用内容识别。这就让一些非标準连线埠的协定数据没有正确解析出来。比如ftp协定如果不是21连线埠的话,Ethereal就无法识别出来,只能作为tcp数据处理。另外对于内容识别式。Ethereal是将所以内容识别的函式组成一张入口表。每次协定数据需要内容识别时,按字母顺序逐个调用表里的每个识别函式。比如对于识别yahoo massanger协定。主要是看数据前几个位元组是不是’ymsg’.由于协定名为y开头。所以当识别出协定时已经把所有内容识别函式调用了一遍。这些都是由于Ethereal没有实现tcp协定栈,无法做到流级别的识别。导致在协定识别方面有点缺陷。
套用範围
Ethereal 是一种开放原始码的许可软体,允许用户向其中添加改进方案。Ethereal 适用于当前所有较为流行的计算机系统,包括 Unix、Linux 和 Windows 。
使用入门
Ethereal 可以用来从网路上抓包,并能对包进行分析。下面介绍windows 下Ethereal 的使用方法:
安装
1)安装winpcap
2)安装Ethereal
使用
windows 程式,使用很简单。
启动ethereal 以后,选择选单Capture->Start ,就OK 了。当你不想抓的时候,按一下stop, 抓的包就会显示在面板中,并且已经分析好了。
Ethereal使用-capture选项
interface: 指定在哪个接口(网卡)上抓包。一般情况下都是单网卡,所以使用预设的就可以了
Limit each packet: 限制每个包的大小,预设情况不限制
Capture packets in promiscuous mode: 是否打开混杂模式。如果打开,抓取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。
Filter:过滤器。只抓取满足过滤规则的包(可暂时略过)
File:如果需要将抓到的包写到档案中,在这里输入档案名称称。
use ring buffer: 是否使用循环缓冲。预设情况下不使用,即一直抓包。注意,循环缓冲只有在写档案的时候才有效。如果使用了循环缓冲,还需要设定档案的数目,档案多大时回卷
其他的项选择预设的就可以了
Ethereal的抓包过滤器
抓包过滤器用来抓取感兴趣的包,用在抓包过程中。 抓包过滤器使用的是libcap 过滤器语言,在tcpdump 的手册中有详细的解释,基本结构是: [not] primitive [and|or [not] primitive ...]
个人观点,如果你想抓取某些特定的数据包时,可以有以下两种方法,你可以任选一种, 个人比较偏好第二种方式:
1、在抓包的时候,就先定义好抓包过滤器,这样结果就是只抓到你设定好的那些类型的数 据包;
2、先不管三七二十一,把本机收到或者发出的包一股脑的抓下来,然后使用下节介绍的显 示过滤器,只让Ethereal 显示那些你想要的那些类型的数据包;
etheral的显示过滤器(重点内容)
在抓包完成以后,显示过滤器可以用来找到你感兴趣的包,可以根据1)协定2)是否存在某个域3)域值4)域值之间的比较来查找你感兴趣的包。
举个例子,如果你只想查看使用tcp 协定的包,在ethereal 视窗的左下角的Filter 中输入tcp, 然后回车,Ethereal 就会只显示tcp 协定的包。
值比较表达式可以使用下面的操作符来构造显示过滤器自然语言类c 表示举例eq == ip.addr==10.1.10.20 ne != ip.addr!=10.1.10.20 gt > frame.pkt_len>10 lt < frame.pkt_len<10 ge >= frame.pkt_len>=10 le <= frame.pkt_len<=10
表达式组合可以使用下面的逻辑操作符将表达式组合起来自然语言类c 表示举例and && 逻辑与,比如ip.addr=10.1.10.20&&tcp.flag.fin or || 逻辑或,比如ip.addr=10.1.10.20||ip.addr=10.1.10.21 xor ^^ 异或,如tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == not ! 逻辑非,如 !llc
在Ethereal 使用协定外挂程式
Ethereal 能够支持许多协定,但有些协定需要安装外挂程式以后才能解,比如H.323,以H.323 协定为例,首先下载Ethereal 的H.323 外挂程式,
1)启动Ethereal
2)选单Edit->Preference
3)单击Protocols 前面的"+"号,展开Protocols 4)找到Q931 ,并单击
5)确保"Desegment.... TCP segments" 是选中的(即方框被按下去)
6)单击TCP
7)确保"Allow....TCP streams" 是选中的
8)确保没有选中"Check....TCP checksum" 和"Use....sequence numbers"
9)单击TPKT
10)确保"Desegment....TCP segments" 是选中的
11)点击Save,然后点击Apply ,然后点击OK 你也完全可以不断地重新安装新版本winpcap 和Ethreal, 这样就可以不需在旧的ethreal 的版本中安装新的外挂程式来支持新的协定外挂程式。这也是懒人的一种做法。
数据包
Ethereal是一个图形用户接口(GUI)的网路嗅探器,能够完成与Tcpdump相同的功能,但操作界面要友好很多。Ehtereal和Tcpdump都依赖于pcap库(libpcap),因此两者在许多方面非常相似(如都使用相同的过滤规则和关键字)。Ethereal和其它图形化的网路嗅探器都使用相同的界面模式,如果能熟练地使用Ethereal,那幺其它图形用户界面的嗅探器基本都可以操作。
Ethereal的安装
在网站上可以下载到最新的Ethereal源码包。
下面以Ethereal 0.9.9为例,讲述如何安装Ethereal,此处使用的作业系统是Red Hat 8.0。
首先下载最新的源码包,并将其解压缩:
# cd /usr/local/src/
# tar xvf ethereal-0.9.9.tar
同Tcpdump一样,在编译Ethereal之前应先确定已经安装pcap库(libpcap),这是编译Ethereal时所必需的。如果该库已经安装,就可以执行下面的命令来编译并安装Ethereal:
# cd ethereal-0.9.9
# ./configure
# make
# make install
设定Ethereal的过滤规则当编译并安装好Ethereal后,就可以执行“ethereal”命令来启动Ethereal。在用Ethereal截获数据包之前,应该为其设定相应的过滤规则,可以只捕获感兴趣的数据包。Ethereal使用与Tcpdump相似的过滤规则,并且可以很方便地存储已经设定好的过滤规则。要为Ethereal配置过滤规则,首先单击“Edit”选单,然后选择“Capture Filters...”选单项,打开“Edit Capture Filter List”对话框(如图1所示)。
图1

因为此时还没有添加任何过滤规则,因而该对话框右侧的列表框是空的。
图2

在Ethereal中添加过滤器时,需要为该过滤器指定名字及规则。例如,要在主机10.1.197.162间创建过滤器,可以在“Filter name”编辑框内输入过滤器名字“sohu”,在“Filter string”编辑框内输入过滤规则“host 10.1.197.162 ”,然后单击“New”按钮即可,如图2所示。
在Ethereal中使用的过滤规则和Tcpdump几乎完全一致,这是因为两者都基于pcap库的缘故。Ethereal能够同时维护很多个过滤器。网路管理员可以根据实际需要选用不同的过滤器,这在很多情况下是非常有用的。例如,一个过滤器可能用于截获两个主机间的数据包,而另一个则可能用于截获ICMP包来诊断网路故障。
当所有需要的过滤器都创建好后,单击“Save”按钮保存创建的过滤器,然后单击“Close”按钮来关闭“Edit CaptureFilter List”对话框。要将过滤器套用于嗅探过程,需要在截获数据包之前或之后指定过滤器。要为嗅探过程指定过滤器,并开始截获数据包,可以单击“Capture”选单,选择“Start...”选单项,打开“Capture Options”对话框,单击该对话框中的“Filter:”按钮,然后选择要使用的过滤器,如图3所示。
图3

注意在“Capture Options”对话框中,“Update list of packets in real time”複选框被选中了。这样可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。
在选择了所需要的过滤器后,单击“OK”按钮,整个嗅探过程就开始了。Ethereal可以实时显示截获的数据包,因此能够帮助网路管理员及时了解网路的运行状况,从而使其对网路性能和流量能有一个比较準确的把握。
用Ethereal分析数据包
Ethereal和其它的图形化嗅探器使用基本类似的界面,整个视窗被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协定树,用来显示选定的数据包所属的协定信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。
使用Ethereal可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协定等。
图4

图4是在Ethereal中对一个HTTP数据包进行分析时的情形。
在图4最上边的数据包列表中,显示了被截获的数据包的基本信息。从图中可以看出,当前选中数据包的源地址是10.1.197.162,目的地址为61.135.150.65,该数据包所属的协定是超文本传输协定(HTTP)。更详细的信息表明该数据包中含有一个HTTP的GET命令,要求下载starrtlog.js档案到客户端的Web浏览器。
图4中间是协定树,通过协定树可以得到被截获的数据包的更多信息,如主机的MAC地址(Ethernet II)、IP位址(Internet Protocol)、TCP连线埠号(Transmission Control Protocol),以及HTTP协定的具体内容(Hypertext Trnasfer Protocol)。通过扩展协定树中的相应节点,可以得到该数据包中携带的更详尽的信息。
图4最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协定树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协定的数据包进行分析。
Ethereal提供的图形化用户界面非常友好,管理员可以很方便地查看到每个数据包的详细信息,协定树及其对应的十六进制表示对分析每个数据包的目的很有帮助,综合使用Ethereal和Tcpdump能够基本满足网路管理员在Linux系统上的所有嗅探要示。
用EtherApe查看网路流量
EtherApe也是一个图形化的网路嗅探器。与Ehtereal不同,EtherApe通过验证主机与主机之间的连结,图形化地显示网路目前所处的状态。EtherApe使用不同颜色的连线来表示位于不同主机之间的连线,而连线的粗细则表明主机间数据流量的大小。这些信息都是实时变化的,因而能够协助管理员随时了解到网路中各部分流量的变化情况。
EtherApe的安装
EhterApe支持Ethernet、FDDI和Token Ring等多种网路,能够实时地从网路或档案中读取网路流量的变化情况。此外它还可以将网路流量信息保存下来,以便在之后需要时再显示出来。
在网站上可以下载到最新的EtherApe源码包。
下面以Ethereal 0.8.2为例,讲述如何安装EtherApe(使用的作业系统是RedHat 8.0)。
首先下载最新的源码包并将其解压缩,代码如下:
# cp etherape-0.8.2.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar xzvf etherape-0.8.2.tar.gz
EtherApe使用的是GNOME这一图形用户接口库。与Ethereal和Tcpdump一样,它也使用pcap库(libpcap)对网路上传输的数据包进行截获和过滤。在编译EtherApe之前,应先确定所需的这些库已经安装好,因为这是编译EtherApe时所必需的。如果这些库已经安装,就可以执行下面的命令来编译并安装EtherApe:
# cd etherape-0.8.2
# ./configure
# make
# make install
用EtherApe分析网路流量
当编译并安装好EtherApe后,就可以执行“etherape”命令来启动EtherApe。当用EtherApe截获在网路上传输的数据包时,也需要先为其指定过滤规则,否则EthreApe将捕获网路中的所有数据包。单击工具列上的“Pref.”按钮,打开“Preferences”对话框,在该对话框中的“Capture”属性页中,可以找到用于设定过滤规则的“Capture filter”下拉框。由于採用的都是pcap库,因此EtherApe过滤规则的设定与Tcpdump和Ethereal是相同的。
图5

设定好过滤规则后,单击工具列上的“Start”按钮,就可以开始对网路中感兴趣的数据包进行嗅探。EhterApe图形化地显
示网路流量,图5是当EtherApe处于Ethernet模式下时的网路流量图。
EtherApe提供了Token Ring、FDDI、Ethernet、IP和TCP五种监听模式。当处于Ethernet模式下时,EtherApe会截获所有符合过滤规则的乙太网数据包,但有时网路管理员可能只对IP数据包感兴趣,这时可以将EtherApe切换到IP模式。
图6

单击“Capture”选单,选择“Mode”选单项,然后再选择相应的模式,就可以完成模式之间的切换。
图6是当EhterApe处于IP模式下时的网路流量图。
EtherApe能够以图形的方式显示网路流量。用户看到的是一个很直观的用于表示网路上各主机间流量大小的图,而不是单个的数据包,因而更容易从整体上把握整个网路的运行状况,在定位网路故障时相对来说也变得更加容易。
连线埠号
TCP协定支持
协定名称 TCP连线埠号 协定名称解释
ACAP 674
AIM 5190
BEEP 10288
CAST 4224
CMP 829
COPS 3288
PKTCABLE_COPS 2126
PKTCABLE_MM_COPS 3918
DAAP 3689
DHCPFO 519
DIAMETER 3868
DISTCC 3632
DLSW 2065
NP 20000
NS 53
DNS 5353
DSI 548
FTPDATA 20
FTP 21
GIFT 1213
CS 1720
HTTP 80
PROXY_HTTP 3128
PROXY_ADMIN_HTTP 3132
HKP 11371
DAAP 3689
SSDP 1900
IB 3050
ICAP 1344
IMAP 143
IRC 6667
ISAKMP 500
JABBER 5222
KERBEROS 88
LAPLINK 1547
LDAP 389
GLOBALCAT_LDAP 3268
LDP 646
PRINTER 515
MBTCP 502
MSNMS 1863
MSRP 0
MySQL 3306
NBSS 139
CIFS 445
NCP 524
NDMP 10000
PA 0x0d44
BROKER 0x0bc6
SRS 0x0bca
ENS 0x0bc8
RMS 0x0bcb
NOTIFY_LISTENER 0x0bc9
NETSYNC 5253
NNTP 119
NTP 123
POP 110
PPTP 1723
PVFS2 3334
RMI 1099
RSH 514
RSYNC 873
RTSP 554
SIP 5060
SKINNY 2000
SLSK_1 2234
SLSK_2 5534
SLSK_3 2240
SMRSE 4321
SMTP 25
SNMP 161
SNMP_TRAP 162
SMUX 199
SOCKS 1080
SRVLOC 427
SSH 22
SSL 443
SSL_LDAP 636
SSL_IMAP 993
SSL_POP 995
STUN 3478
TACACS 49
TELNET 23
TNS 1521
TPKT 102
X11 6000
X11_2 6001
X11_3 6002
XOT 1998
YHOO 5050
YMSG 23
YMSG_2 25
YMSG_3 5050
ZEBRA 2600
NINEPORT 564
ajp13 8009
ax4000 3357
BGP 179
COPS 3288
DCM 104
DHCPFO 519 desegmentation of DHCP failover over TCP
distcc 3632
ECHO 7
edonkey 4661/4662/4663
ENIP_ENCAP_PORT 44818 EtherNet/IP located on port 44818
etheric 1806/10002
giop 0
GNUTELLA 6346
http_alternate_tcp_port 未知
Ipdc 6668
ISNS 3205
MSMMS 1755
msdp 639
MSNMS 1863
msrp 0
Pgsq
Rlogin 513
Rpc 111
rtsp 未知
Sigcomp 5555/6666
synergy 24800
tds 1433/2433
uma 0
vnc 5901
一共129=94+35种
UDP协定支持
协定名称 UDP连线埠号 协定名称解释
3GA11 699 3com Network Jack
5264:Packets to Managementstation
5265:Packets to Switch
ACTRACE 2428 Port used for Mobile IP based Tunneling Protocol (A11)
T_AODV 654
ARMAGETRONAD 4534
MASTER 4533
ADP 8200
PIM_RP_DISC 496
BFD_CONTROL 3784
BOOTPS 67
BOOTPC 68
PHA 8116
CUPS 631
DDTP 1052
DHCPV6_DOWNSTREAM 546
DHCPV6_UPSTREAM 547
DLSW 2067
DNP 20000
DNS 53
MDNS 5353
RAS1 1718
RAS2 1719
HSRP 1985
SSDP 1900
IAPP 2313
ICP 3130
ICQ 4000
IPX 213
ISAKMP 500
KERBEROS 88
KRB4 750
KPASSWD 464
L2TP 1701
LAPLINK 1547
CLDAP 389
LDP 646
LLC1 12000
LLC2 12001
LLC3 12002
LLC4 12003
LLC5 12004
LMP_DEFAULT 701
MIP 434
MPLS_ECHO 3503
MSPROXY 1745
NBNS 137
NBDGM 138
NCP 524
NETFLOW 2055
TPCP 3121
NTP 123
OLSR 698
RADIUS 1645
RADIUS_NEW 1812
RADACCT 1646
RADACCT_NEW 1813
RIP 520
RIPNG 521
RMCP 623
RMCP_SECURE 664
RX_LOW 7000
RX_HIGH 7009
RX_AFS_BACKUPS 7021
SAP 9875
SEBEK 1101
SFLOW 6343
SIP 5060
SLIMP3_V1 1069
SLIMP3_V2 3483
SNMP 161
SNMP_TRAP 162
SRVLOC 427
STUN 3478
SYSLOG 514
TACACS 49
TEREDO 3544
TFTP 69
TIME 37
TIMED 525
TZSP 0x9090
VINES 573
WSP 9200
WTP_WSP 9201
WTLS_WSP 9202
WTLS_WTP_WSP 9203
WSP_PUSH 2948
WTLS_WSP_PUSH 2949
WCCP 2048
WHO 513
XDMCP 177
XYPLEX 173
NJACK1 5264
NJACK2 5265
ASAP 3863
AX4000 3357
bvlc 0xBAC0
CPFI 5000
cpfi_ttot 5001
dis 3000
ECHO 7
edonkey 4665
edonkey 4672
ENIP_ENCAP 44818
ENIP_IO 2222
IAX2 4569
udpencap 4500
IPVS_SYNCD 8848
ISNS 3205
KINK 57203
lwapp 12220/12222/12223
manolito 41170
MSMMS 1755
udp_encap_ucast_port 3055 Udp port for UDP encapsulation
udp_encap_mcast_port 3056
PKTC_PORT 1293
PKTC_MTAFQDN_PORT 2246
EVENT_PORT_PTP 319
GENERAL_PORT_PTP 320
radius 1645/1646/1812/1813
Rpc 111
SigCompUDPPort1 5555
SigCompUDPPort2 6666
Rdt 6970
rmt-alc 未知 从配置档案中读取
SSCOP 未知 从配置档案中读取
T38 6004
quakeworldServerPort 27500
quakeServerPort 26000
quake2ServerPort 27910
quake3_server_port 27960-27963
quake3_master_port 27965-27968
一共137=90+47种
IP协定支持
协定名称 IP连线埠号 协定名称解释
AX4000 173 AX/4000 Testblock - non IANA
TP 29 ISO Transport Protocol Class 4
DCCP 33 Sequential Exchange Protocol(和标準的不一样)
EIGRP 88
EtherIP 97 Ethernet-within-IP Encapsulation
GRE 47 General Routing Encapsulation
ICMPV6 58 ICMP for IPv6
IGMP 2
IGRP 9 any private interior gateway(used by Cisco for their IGRP)
IPIP 4 IP in IP (encapsulation)
ICMP 1
AH 51 Authentication Header
ESP 50 Encap Security Payload
IPCOMP 108 IP Payload Compression Protocol
IPV6 41
L2TP 115 Layer Two Tunneling Protocol
MIPV6_OLD 62 CFTP 这个和标準不一致――Mobile IPv6
MIPV6 135 Mobility Header ―― Mobile IPv6
NCS_HEARTBEAT 224 Novell NCS Heartbeat -
http://support.novell.com/cgi-bin/search/searchtid.cgi?/10071158.htm
NARP 54 NBMA Address resolution protocol - RFC1735
OSPF 89
PGM 113 PGM Reliable Transport Protocol
PIM 103 Protocol Independent Multicast
RSVP 46
SCTP 132 Stream Control Transmission Protocol
TCP 6
UDP 17
UDPLITE 136 UDPLite
VINES 83 Vines over raw IP
VRRP 112 Virtual Router Redundancy Protocol
一共30种