ethereal

免费软件,源代码公开,遵循GNU General Public License许可协议.用它的官方网站上的介绍来说

ethereal基本信息

外文名称 ethereal 类别 计算机网络调试和数据包嗅探软件
应用范围  Unix、Linux 和 Windows 端口号 ACAP 674
安装 winpcap、Ethereal Ethereal使用 capture选项

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造价信息

市场价 信息价 询价
材料名称 规格/型号 市场价
(除税)
工程建议价
(除税)
行情 品牌 单位 税率 供应商 报价日期
暂无数据
材料名称 规格/型号 除税
信息价
含税
信息价
行情 品牌 单位 税率 地区/时间
暂无数据
材料名称 规格/需求量 报价数 最新报价
(元)
供应商 报价地区 最新报价时间
暂无数据

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种

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常见问题

  • together智能体重秤好不好用?求指教

    together智能体重秤挺好用的,together智能体重秤是首款适合瘦身、孕期体重增长、产后体重恢复和宝宝营养健康管理的智能体重秤。关注全家人的健康,从together智能体重秤开始!togeth...

  • together智能体重秤好不好用?

    together智能体重秤挺好用的,它能够准确的称量人体的体重,并且通过每日的体重变化,反应某段时间的体重控制情况,体重控制是健康管理     的基础,因此,现代人最好每家都有一个...

  • 倍福总线端子模块和 ethercat端子模块的区别

    总线端子是目前所有总线端子的总成, 如西门子的DP、罗克韦尔的DeviceNET、其它如CAN,MODBUS等总线模块, 连接以上厂家的主站; 而ethercat只是倍福自己的总线协议! 只能挂在倍...

Ethereal 是一种开放源代码的许可软件,允许用户向其中添加改进方案。Ethereal 适用于当前所有较为流行的计算机系统,包括 Unix、Linux 和 Windows 。

ethereal文献

基于EtherCAT的主站通信控制器设计 基于EtherCAT的主站通信控制器设计

格式:pdf

大小:16.1MB

页数: 73页

评分: 4.7

믹폚EtherCAT 뗄훷햾춨탅뿘훆웷짨볆 ퟷ헟ꎺ 헅샚 톧캻쫚폨떥캻ꎺ 맣뚫릤튵듳톧 놾컄솴뷓ꎺ http://d.wanfangdata.com.cn/Thesis_Y2304907.aspx

立即下载
基于EtherCAT总线的ROV控制系统设计 基于EtherCAT总线的ROV控制系统设计

格式:pdf

大小:16.1MB

页数: 未知

评分: 4.5

有缆水下机器人(ROV)在水下打捞、故障排除、海洋石油勘探与开发、矿物资源开采以及军事等方面均有着广泛的应用前景。水下机器人运动控制的核心是嵌入式计算机系统,它需具有实现运动控制算法、数据采集、与外设进行通信等功能。随着水下机器人的不断发展,对其性能以及灵活性、扩展性等提出了更高的要求,而这主要体现在控制核心的运算能力以及通讯速率等方面。本文利用德国Beckhoff公司的EtherCAT总线以及嵌入式控制器,结合自主研发的软件应用程序,提出一套高运算能力与高通信吞吐速率的设计方案,并实验成功。

立即下载

网络协议分析器网络协议分析器Ethereal 是目前最好的、开放源码的、获得广泛应用的网络协议分析器,支持Linux 和windows 平台。在该系统中加入新的协议解析器十分简单,自从1998年发布最早的Ethereal 0.2版本发布以来,志愿者为Ethereal 添加了大量新的协议解析器,如今Ethereal 已经支持五百多种协议解析。其原因是Ehereal 具有一个良好的可扩展性的设计结构,这样才能适应网络发展的需要不断加入新的协议解析器。

分析协议的格式

Ethereal 抓包后的界面有三个部分,上部为报文列表窗口,显示的是对抓到的每个数据报文进行分析后的总结型信息,包括编号、时间、源地址、目标地址、协议、信息。中部为协议树窗口,显示的是数据报文的协议信息。在报文列表窗口选择不同条目则协议树窗口的内容随之改变为相应的协议信息。下部为16 进制报文窗口,可以显示报文在物理层的数据形式。

在抓包完成后,显示过滤器可以用来找到你感兴趣的包,也可根据协议、是否存在某个域、域值、域值之间的关系来查找你感兴趣的包。

Ethereal的抓包特征

* 可以从不同类别的网络硬件抓包,如Ethernet、 Token Ring、ATM 等;

* 停止抓包时不同的触发器相似:如抓获数据的总数、抓包时间,抓获包的数目;

* 抓包过程中同时显示编译后(解析)的包。

* 根据包过滤器的条件,从抓获的全部数据中进行过滤,减去符合条件的包。

使用Ethereal 进行网络协议分析时应当注意:必须有管理员权限才能开始抓包过程;必须选择正确的网络接口来抓获包数据;必须在网络的正确的位置抓包才能看到想看到的业务流量。

本属植物含有香精油细胞(ethereal oil cells) 、粘质细胞和具分支的石细胞。常积聚有茴香亭(anisatin)为有毒内酯(a toxic lactone),通常也含有丹宁、花青素昔(proarthocyanins),但无鞣花酸(ellegic acid)。

网络管理

RF计划和AP设计工具包

集中的AP部署和image管理

实时覆盖的可视heat map

用于监控的详细统计

远程抓包用于RF排错

可与Ethereal,Airopeek和AirMagnet分析软件同时工作

多控制器配置和管理

定位可视及设备跟踪

系统范围的事件采集和报告

安全管理

有线和无线的用户认证

Captive portal,802.1x和MAC地址认证

通过用户名,IP地址,MAC地址和密钥创建强健的网络身份认证

每个包的一致性校验,防止身份欺诈

基于AAA服务器的RADIUS

内部的用户数据库作为AAA服务器的失效保护

每用户的使用统计

可为访客接入配置允许的策略

NETGEAR WFS709TP

ethereal相关推荐
  • 相关百科
  • 相关知识
  • 相关专栏