网络分析软件Ethereal的源代码分析

合集下载

Ethereal -抓包、报文分析工具

Ethereal -抓包、报文分析工具

Ethereal -抓包、报文分析工具Ethereal 是一种开放源代码的报文分析工具,适用于当前所有较为流行的计算机系统,包括 Unix、Linux 和 Windows 。

主界面如上图,点“抓包配置”按钮,出现抓包配置界面如下图。

在“Interface”中选择网卡,即用来抓包的接口,如果选择错误就不能抓到报文;“Capture packets in promiscuous mode(混杂模式抓包)”是指捕捉所有的报文,如不选中就只捕捉本机的收发报文;如果选中“Limit each packet to xx bytes(限制每个包的大小)”则只捕捉小于该限制的包;抓包时,数据量比较大,解析起来速度慢,可在“Capture Filter(抓包过滤设置“Display Options(显示设置)”中建议选中“Update list of packets in realtime(实时更新抓包列表)”、“Automatic scrolling in live capture(自动滚屏)”和“Hide capture info dialog(隐藏抓包信息对话框)”三项。

抓包配置好就可以点击“Start”开始抓包了。

抓包结束,按“停止”按钮即可停止。

为了快速查看需要的报文,在“Filter”栏中输入过滤条件后按回车键即可对抓到的包进行过滤。

注意“Filter”栏中输入的过滤条件正确则其底色为绿色,错误则其底色为红色。

常用有些报文还可以判断网络的状况,例如输入显示过滤条件tcp.analysis.flags,可以显示丢失、重发等异常情况相关的TCP报文,此类报文的出现频率可以作为评估网络状况的一个标尺。

偶尔出现属于正常现象,完全不出现说明网络状态上佳。

tcp.flags.reset==1。

SYN是TCP建立的第一步,FIN是TCP连接正常关断的标志,RST是TCP连接强制关断的标志。

统计心跳报文有无丢失。

在statistics->conversations里选择UDP,可以看到所有装置的UDP报文统计。

[工学]协议分析软件Ethereal的使用

[工学]协议分析软件Ethereal的使用

实验协议分析软件Ethereal 的使用一、实验目的和要求:熟悉掌握Ethereal软件的使用,并应用该软件分析Ethernet帧以及高级协议,从而能够加深对TCP/IP 协议栈上的参与通信的网络数据包结构以及通信方式有进一步的了解。

二、实验内容和原理1. 安装windows下的Ethereal及WinPcap软件。

2. 捕捉任何主机发出的DIX Ethernet V2(即Ethernet II)格式的帧(帧的长度字段>1500, 帧的长度字段实际上是类型字段),Ethereal的capture 的options中capture filter设置为:ether[12:2] > 1500 观察并分析帧结构,Ethernet II的帧(ether[12:2] > 1500)的上一层主要是哪些PDU?是IP、LLC还是其它哪种?IP3. 捕捉并分析局域网上的所有ethernet broadcast帧,Ethereal的capture 的options中capture filter设置为:ether broadcast(1). 观察并分析哪些主机在发广播帧,这些帧的高层协议是什么?ARP(2). 你的LAN的共享网段上连接了多少台计算机?1分钟内有几个广播帧?有否发生广播风暴?92台4. 捕捉局域网上主机发出或接受的所有ARP包capture 的options中capture filter设置为:arp host ip (1)主机上执行“arp –d ”清除arp cache.(2)在主机上ping 局域网上的另一主机(3)观察并分析主机发出或接受的所有ARP包,及arp包结构。

5. IP 分组的结构固 定 部分 可变 部分0 48 16192431版 本 标志 生 存 时 间协 议标 识服 务 类 型总 长 度 片 偏 移填 充首 部 检 验 和源 地 址 目 的 地 址可 选 字 段 (长 度 可 变) 比特 首部长度 01 2 3 4 5 6 7 D T R C 未用 优 先 级数 据 部 分首 部6、UDP 报文伪首部源端口目的端口长 度检验和数 据首 部UDP 长度源 IP 地址目的 IP 地址17 IP 数据报字节12 2 2 2 2 字节 发送在前数 据首 部 UDP 用户数据报附:1、Ethernet II的帧结构字节46 ~ 1500 目的地址源地址类型数据FCS目的地址:01:00:5e:22:17:ea源地址:00:1e:90:75:af:4f类型数据2、IP分组的结构版本首部长度服务类型总长度标识标志固 定 部分 可变 部分0 48 16192431版 本 标志 生 存 时 间协 议标 识服 务 类 型总 长 度 片 偏 移填 充首 部 检 验 和源 地 址 目 的 地 址可 选 字 段 (长 度 可 变) 比特 首部长度 01 2 3 4 5 6 7 D T R C 未用 优 先 级数 据 部 分首 部片偏移生存时间协议首部检验和源地址目的地址可选字段 数据3、 ARP 的报文格式硬件地址长度协议类型 发送方IP 地址(八位组0-1) 目标硬件地址(八位组2-5) 目标IP 地址(八位组0-3)发送方硬件地址(八位组0-3)硬件类型操作发送方硬件地址(八位组4-5) 发送方IP 地址(八位组2-3)协议长度目标硬件地址(八位组0-1)* 硬件类型指明发送方想知道的硬件接口类型。

Ethereal协议分析实验指导

Ethereal协议分析实验指导

Ethereal协议分析实验指导Ethereal是一个开放源码的网络分析系统,也是目前最好的开放源码的网络协议分析器,支持Linux和windows平台。

Ethereal 基本类似于tcpdump,但 Ethereal 还具有设计完美的 GUI 和众多分类信息及过滤选项。

用户通过 Ethereal,同时将网卡插入混杂模式,可以查看到网络中发送的所有通信流量。

Ethereal网络协议分析软件可以十分方便直观地应用于计算机网络原理和网络安全的教学实验,网络的日常安全监测。

使用Ethereal能够非常有效地帮助学生来理解网络原理和协议、帮助学生理解实验现象和诊断实验故障。

一、Ethereal 协议分析软件下载及安装1.下载Ethereal 开源软件Ethereal是免费的,可以从官方网站下载最新版本。

以windows xp操作系统为例,如图2-1所示。

目前可下载最新版本为:Ethereal 0.99.0图2-1 下载Ethereal协议分析软件的界面2.安装Ethereal软件图2-2 Ethereal 安装界面双击Ethereal-setup-0.99.0.exe软件图标,开始安装。

图2-2为Ethereal安装界面。

选择欲安装的选件,一般选择默认即可,如图2-3图2-3选择欲安装的选件选择欲安装的目录,确定软件安装位置。

Ethereal软件的运行需要软件WinPcap的支持,WinPcap是libpcap library的Windows版本,Ethereal可通过WinPcap来劫取网络上的数据包。

在安装Ethereal时可以的过程中也会一并安装WinPcap,不需要再另外安装。

如图2-4所示图2-4选择安装WinPcap如果在安装Ethereal之前未安装Winpcap,可以勾选Install Winpcap 3.1 beta 4。

开始解压缩文件,接着开始安装,接着按Next就可以看到Ethereal的启动画面了。

Ethereal -抓包、报文分析工具

Ethereal -抓包、报文分析工具

Ethereal -抓包、报文分析工具Ethereal 是一种开放源代码的报文分析工具,适用于当前所有较为流行的计算机系统,包括 Unix、Linux 和 Windows 。

主界面如上图,点“抓包配置”按钮,出现抓包配置界面如下图。

在“Interface”中选择网卡,即用来抓包的接口,如果选择错误就不能抓到报文;“Capture packets in promiscuous mode(混杂模式抓包)”是指捕捉所有的报文,如不选中就只捕捉本机的收发报文;如果选中“Limit each packet to xx bytes(限制每个包的大小)”则只捕捉小于该限制的包;抓包时,数据量比较大,解析起来速度慢,可在“Capture Filter(抓包过滤设置“Display Options(显示设置)”中建议选中“Update list of packets in realtime(实时更新抓包列表)”、“Automatic scrolling in live capture(自动滚屏)”和“Hide capture info dialog(隐藏抓包信息对话框)”三项。

抓包配置好就可以点击“Start”开始抓包了。

抓包结束,按“停止”按钮即可停止。

为了快速查看需要的报文,在“Filter”栏中输入过滤条件后按回车键即可对抓到的包进行过滤。

注意“Filter”栏中输入的过滤条件正确则其底色为绿色,错误则其底色为红色。

常用有些报文还可以判断网络的状况,例如输入显示过滤条件tcp.analysis.flags,可以显示丢失、重发等异常情况相关的TCP报文,此类报文的出现频率可以作为评估网络状况的一个标尺。

偶尔出现属于正常现象,完全不出现说明网络状态上佳。

tcp.flags.reset==1。

SYN是TCP建立的第一步,FIN是TCP连接正常关断的标志,RST是TCP连接强制关断的标志。

统计心跳报文有无丢失。

在statistics->conversations里选择UDP,可以看到所有装置的UDP报文统计。

网络监听工具Ethereal利用说明

网络监听工具Ethereal利用说明

网络监听工具Ethereal利用说明1.1Ethereal简介Ethereal是一款免费的网络协议分析程序,支持Unix、Windows。

借助那个程序,你既能够直接从网络上抓取数据进行分析,也能够对由其他嗅探器抓取后保留在硬盘上的数据进行分析。

你能交互式地阅读抓取到的数据包,查看每一个数据包的摘要和详细信息。

Ethereal 有多种壮大的特点,如支持几乎所有的协议、丰硕的过滤语言、易于查看TCP会话经重构后的数据流等。

它的要紧特点为:支持Unix系统和Windows系统在Unix系统上,能够从任何接口进行抓包和重放能够显示通过以下软件抓取的包tcpdumpNetwork Associates Sniffer and Sniffer ProNetXrayShomitiAIX’s iptraceRADCOM & RADCOM’s WAN/LAN AnalyzerLucent/Ascend access productsHP-UX’s nettlToshiba’s ISDN routersISDN4BSD i4btrace utilityMicrosoft Network MonitorSun snoop将所抓得包保留为以下格式:▪libpcap (tcpdump)▪Sun snoop▪Microsoft Network Monitor▪Network Associates Sniffer能够依照不同的标准进行包过滤通过过滤来查找所需要的包依照过滤规那么,用不同的颜色来显示不同的包提供了多种分析和统计工具,实现对信息包的分析图1-1 Ethereal抓包后直观图图1是Ethereal软件抓包后的界面图,咱们能够依照需要,对所抓得包进行分析。

另外,由于Ethereal软件的源代码是公布的,能够随意取得,因此,人们能够很容易患将新的协议添加到Ethereal中,比如新的模块,或直接植入源代码中。

1.2Ethereal支持的网络协议Ethereal能对很多协议进行解码,它支持几乎所有的协议,如AARP, AFS, AH, AIM, ARP, ASCEND, ATM, AUTO_RP, BGP, BOOTP, BOOTPARAMS, BROWSER, BXXP, CDP, CGMP, CLNP, CLTP, COPS, COTP, DATA, DDP, DDTP, DEC_STP, DIAMETER, DNS, EIGRP, ESIS, ESP, ETH, FDDI, FR, FRAME, FTP, FTP-DATA, GIOP, GRE, GVRP, H1, H261, HCLNFSD, HSRP, HTTP, ICMP, ICMPV6, ICP, ICQ, IGMP, IGRP, ILMI, IMAP, IP, IPCOMP, IPCP, IPP, IPV6, IPX, IPXMSG, IPXRIP, IPXSAP, IRC, ISAKMP, ISIS, ISIS_CSNP,ISIS_HELLO, ISIS_LSP, ISIS_PSNP, ISL, IUA, KERBEROS, L2TP, LANE, LANMAN, LAPB, LAPBETHER, LAPD, LCP, LDAP, LDP, LLC, LPD, M3UA, MAILSLOT, MALFORMED, MAPI, MIP, MOUNT, MP, MPLS, MSPROXY, NBDGM, NBIPX, NBNS, NBP, NBSS, NCP, NETBIOS, NETLOGON, NFS, NLM, NMPI, NNTP, NTP, NULL, OSPF, PIM, POP, PORTMAP, PPP, PPPOED, PPPOES, PPTP, Q2931, Q931, QUAKE, RADIUS, RIP, RIPNG, RLOGIN, RPC, RQUOTA, RSH,RSVP, RTCP, RTMP, RTP, RTSP, RX, SAP, SCTP, SDP, SHORT, SIP, SLL, SMB, SMTP, SMUX, SNA, SNMP, SOCKS, SPX, SRVLOC, SSCOP, STAT, STP, SUAL, SYSLOG, TACACS, TCP, TELNET, TEXT, TFTP, TIME, TNS, TPKT, TR, TRMAC, UDP, V120, VINES, VINES_FRP, VINES_SPP, VLAN, VRRP, VTP, WAP-WSP, WAP-WSP-WTP, WAP-WTLS, WCCP, WHO, WLAN, , X11, XOT, YHOO, YPBIND, YPSERV, YPXFR, ZEBRA等。

网络分析软件Ethereal的源代码分析

网络分析软件Ethereal的源代码分析
流程起主要的控制作用 主要描述的是与捕获数据包存储文 件,存储文件过滤 ( 后过滤) 和数据 存储格式相关的参数。 主要用于底层抓包循环中循环控制
e ie fl
c p ue f l a tr _ e i lo d t o p a a
}d I
3 22流程分析 . .
计算机技术
1 1 37
与 它的 络 听 件 n e td l s r1 监 软 如Sf , up , [ 相比 E ea的 点 全 一 免 , 开 其 网 ir c m l n 2 p l o , trl 特 完 是 个 费 且 t等 he
放源码的软件。 你可以 根据自 己的需要,任意修改和补充。 它可以 运行在 Wno s U I 及 L u 等 i w , X以 i x d N n
统所提供的分组捕获机制主要有二种:BF ekl Pce Fl r, I aa k vdr P( ree akt t ) DP( t Ln Poi B y ie L D i r e Itrae, i x nef ) 及Ln 下的SC少AK 类型 c u OK C T 套接口s E [ 7
主要接口函数有 pa_ _ ( pa_efle(, pdsac( cpoe lv ) cpstitr) pa_ th) 分别用于数据包捕获 pn ie , c i p 等, 描述字、指定一个过滤程序、捕获并处理数据包等功能。 在Ehra 源代码文件中,与 l pa 相关的源文件有以 卜 l tee i cp b 几个:
17 30
现代电子信息技术理论与应用
能力) 而Ehra 就是一种能将本地网 , teel 卡状态设成混杂状态的软件 Ehra 软件可以 teel 运行在多个平台, 但只有在 Lnx i 下面是开放源码的,我们主要讨论Ehra 软件在 u teel Lnx 安装。 iu 下的 要完成安装需要一 下 s 几步I l 到Ehra 的官方网 l tee 站上下载Ehra 的 teel 源码 ehra-. . g; teel01 7tr z 0 a. . 解压文件¥a zv ehra- 1. r z tr f eel . . g; x t 0 07t . a 确保己 经安装gk l pa 软件包; t 和 i cp b 配置文件¥/ofgr; .cniue 编译¥ae ; mk 安装¥ae tl; isal mk n 运行, 在字符方式下¥ehra;在图形方式下¥teel tteel ehra, 如果要对软件进行修改,可以 修改源文件, 然后编译¥ae mk,这时编译器会对系统进行检查,只编译 修改的文件。 这时不需要安装, 直接运行¥八ehra . teel或¥/teel .ehra 来看调试的结果。

网络协议分析工具Ethereal的使用

网络协议分析工具Ethereal的使用

⽹络协议分析⼯具Ethereal的使⽤⼤学时计算机⽹络课的实验报告,当时提不起兴趣,今天看来还挺有⽤的。

可以学习下怎样抓数据包,然后分析程序的通信协议。

⼀:学习使⽤⽹络协议分析⼯具Ethereal的⽅法,并⽤它来分析⼀些协议。

实验步骤:1.⽤“ipconfig”命令获得本机的MAC地址和缺省路由器的IP地址;(注:缺省路由器即 ”Default Gateway”)命令⾏:Start->Run->CMD->ipconfig /all >C:\Mac.txt(在命令⾏中把ipconfig命令保存在⽂本⽂档⾥⾯备⽤)结果:本机Mac地址:00.09.73.4B.8A.D7 缺省路由器IP:192.168.8.254步骤截图:图1(本机⽹络信息:Mac.txt)2.⽤“arp”命令清空本机的缓存:命令⾏:Start->Run->CMD->arp –d图2(arp命令 –d参数的帮助说明)3.运⾏Ethereal,开始捕获所有属于ARP协议或ICMP协议的,并且源或⽬的MAC地址是本机的包:图3(Capture->Options中关于⽹卡设置和Capture Filter)图4(抓包截图)4.执⾏命令:“ping” 缺省路由器的IP地址:图5(捕获包)图6(ping 过程)⼆:⽤Ethereal观察tracert命令的⼯作过程:1.⽤Ethereal语法内容及参数说明:命令⾏操作步骤:Start->Run->CMD->tracert图1(Tracert命令全部参数的帮助说明)2.运⾏Ethereal, 设定源和⽬的MAC地址是本机的包,捕获tracert命令中⽤到的消息:Tracert使⽤ICMP,相应过滤规则为:ether host 00:09:73:4B:8A:D7 and icmp图3(Capture->Options中关于⽹卡设置和Capture Filter)3.执⾏“tracert -d ” ,捕获包:执⾏命令:tracert -d :图3 (执⾏命令 tracert –d )图4(抓包截图)图5(捕获包)4.Tracert⼯作原理:Tracert使⽤ICMP消息,具体地讲,tracert发出的是Echo Request消息,触发返回的是Time Exceeded消息和Echo Reply消息。

计算机网络Ethereal实验报告

计算机网络Ethereal实验报告

课程:计算机网络项目:实验1 Ethereal一、实验目的•进一步掌握Ethereal的使用方法•能对捕获到的包进行较深入的分析•简单的运用filter设置过滤•通过Ethereal抓包和分析,了解HTTP协议二、实验原理1.http协议HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送,HTTP协议定义了浏览器(即WWW客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

每个万维网网点都有一个服务器进程,它不断的监听TCP的端口80,以便发现是否有浏览器(即万维网客户)向它发出连接建立的请求。

http报文格式:GET /chn/YXSZ/index.htm HTTP/1.1 {请求行使用了相对URL}Host: {此行是首部行的开始,给出主机的域名} Connection: close {不保持连接放}User-Agent: Mozilla/5.0 {表明用户道理是使用Netscape浏览器} Accept-Language: cn {表示用户希望优先得到中文版本的文档} 各部分的解释如下:2.tcp协议TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的、可靠的、基于IP的传输层协议,由IETF的RFC 793说明(specified)。

TCP在IP报文的协议号是6。

当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制。

之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。

TCP为了保证报文传输的可靠,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。

然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

}量 名 变
cpu ec id atr_ l h
变量类型
g o la b o en源自功能描述cp u e o t a tr _ s p
c u e to s 即tr o in p
标识该进程是否子进程 记录上层在抓包前的 些选项的设 置, 部分参数与Ehra 中Cpue teel atr
如tos对话框的 in 选项对应,对抓包
2 hra 的 E eel 监听环境与安装使用 t
通常在同 一个网段的所有网 络接口 都有访问 在物理媒体上传输的所有数据的能力, 而每个网络接口 都 还应该有一个硬件地址, 该硬件地址不同于网 络中 存在的 其他网 络接口的 硬件地址,同时, 每个网 络至少 还要一个广播地址。 代表所有的 ( 接口 地址) 在正常情况下, , 一个合法的网 络接口 应该只响 应这样的两种 数据帧:1 、帧的目 标区域具有和本地网络接口 相匹配的硬件地址;2 帧的目 、 标区域具有” 广播地址” 在 。 接受到上面两种情况的数据包时,网卡通过CU P 产生一个硬件中断, 该中断能引 起操作系统注意, 然后将 帧中 所包含的数据传送给系统进一步处理。 然而,当网卡被设置成’ 混杂’(rms os 方式时,它对遇到的每一个帧都产生一个硬件中断以 poic u) u 便提醒操作系统处理流经该物理媒体上的每一个数据帧。( 绝大多数的网卡具备置成 poicos rmsuu 方式的
函 库 持L u, r 和B 系 平台 7l p p 一 与 现 关 访 操 系 所 供 分 数 支 i x S ai S 统 " i c 是 个 实 无 的 问 作 统 提 的 组 n o s D l , a b
捕获机制的分组捕获函数库, 用于访问 数据链路层。 这个库为不同的平台提供了 一致的 编程接口, 在安装 了 lbcp的平台 i a p 上,以 l pa i cp为接口 b 写的 程序、应用,能够自由的跨平台 使用。基于 Ui 操作系 nx
Ke Wod oEhra n t ok fn ie y r s eel e r si ig Fl r r t w nf t
1 概

E e a 是目 前一种应用非常广泛的网络分析软件,是一种虚拟的网络分析仪,它试图在局域网上捕 trl he 捉数据报,并且尽可能详细的显示数据报的内容。应用这个软件,网络管理员可以分析网络故障,网络安 全工程师可以检测安全问题,协议开发者可以调试网络协议,用户可以了解网络协议的交互过程。
统所提供的分组捕获机制主要有二种:BF ekl Pce Fl r, I aa k vdr P( ree akt t ) DP( t Ln Poi B y ie L D i r e Itrae, i x nef ) 及Ln 下的SC少AK 类型 c u OK C T 套接口s E [ 7
主要接口函数有 pa_ _ ( pa_efle(, pdsac( cpoe lv ) cpstitr) pa_ th) 分别用于数据包捕获 pn ie , c i p 等, 描述字、指定一个过滤程序、捕获并处理数据包等功能。 在Ehra 源代码文件中,与 l pa 相关的源文件有以 卜 l tee i cp b 几个:
系统的主程序启动过程如下: 读取抓包过滤器文件, 显示过滤器文件和无效的协议文件; 分析用户输 入的命令符,修改配置相应的参数;获取数据链路层抓包设备列表;设置抓包通道,进入抓包流程
cpue) atr (。
cpue) 函数内部流程如图1 atr( 所示。 atr ( Cpue) 函数内部大量调用了l pa 中的 i cp 接口函数, b 有几点
调用s_c lk p( epa i t e) t p y 设 n
置数据链路层类型
调用wa ̄ ( 转化格式后的 t dm ) p u p将
调 a o f c c peV 用p p o m p p l ( 置 滤 e sfe) 过 器 a et 设 l r i 包转存到抓包文件中
关键词:Ehra 网络监听 过滤器 teel
R sa h nto aa sbsd Ehra eer o e r nl t e o t el c f k y a n e w
Yo Z ag Se Qngo a Fi n Li n gu e h e h i
I tu oC m ui tn Eg ergP A i rto Si c ad ho g, j g 07C i n it f m n aos i en, U v s c ne Tcnl yN nn 200, a ste o c i n n i L n e i f y e n e o ai 1 h n A satEhr l et s e lao into aa s ad w rs ut Icn udr os f m bt cot e hs ni apctn e r nl i n nto e r . r nevrup trs r r a a x v p i i n w k y s e k i t u e e c y a n a i lo . a Wi t f te pn g r cd, s cn co et d f cos o i th sei nesT i t h e u o oei suc oeue cn t t x n i u tn acrn o pc l . s h a r f n o e sr a o r r e a e t n i c d g i s s a ed h ppr rdcs e tok vrn n rqi met ad i t l i i Lnx dsuss ae it ue t n w r e i met ur ns i n a a o n u , cse te no h e n o e e n t s l t n i s i h aci c r ad cpue cs, aa zs ky co cpue py rht t e te tr poesad l e t e fnt n tr del eu n h a r n ny h e u i a e .
与 它的 络 听 件 n e td l s r1 监 软 如Sf , up , [ 相比 E ea的 点 全 一 免 , 开 其 网 ir c m l n 2 p l o , trl 特 完 是 个 费 且 t等 he
放源码的软件。 你可以 根据自 己的需要,任意修改和补充。 它可以 运行在 Wno s U I 及 L u 等 i w , X以 i x d N n
3 hra 源代码分析 E eel t
这里主要是对原代码中的 程序流程和抓包流程进行了分析, 给出了 部分关键功能的函数并对这些函数 进行了介绍。 31 p p a 介绍 .l c i b Ehra 与其他 tpup sot teel cdm, r 等著名软件包一样, n 都是基于 l pa 库, i cp 在分析主 b 要流程前,先 介绍 一 l pa 库及其Ehra 原代码中 下 i cp b teel 用到的主要函数。 lbcp i a 的英文意思是 Pce Cpue rr,即 p akt tr l ay 数据包捕获函数库。 a i b 该库提供的C 函数接口 可用 于需要捕获经过目 标地址网络接口 数据包的系统开发上。由 Bree 大学Lwec Bree Ntoa ekl y arne kly inl e a Lbrtr 研究院的Vn osn Cag e 和 See MCne aoaoy a Jcbo, i Lrs tvn an 编写,口 a r e c 前的 最新版本为04 .。该
网络分析软件 Ehra 的源代码分析 teel
姚 菲’ 张 磊 沈庆国
解放军理工大学通信工程学院 江苏 南京 200 E a: 107 m i l
摘 要: teel 络分析和网络安全 Ehra在网 方面有 着广泛的应用。 它能够在多 种平台下 运行, 源代 而且 码开放, 用 户可以 对其进行添加或裁减以 满足自 的 己 特殊需 本文首 求。 先介绍了Ehra 的 环境和在Lnx teel 监听 i 下的安 u 装过 程。 后从 E e a 抓 原 手, 分 然 t r l 包的 理入 着重 析了 E e a 源 码的 程 结 和 包 程 并 键函 he tr l 代 主 序 构 抓 流 he 对关 数 cpue) atr( 进行T 详细分析。
多个平台。
本文安排如下。 首先介绍了Ehra 的监听原理和在Lnx teel i 下的安装; u 再从Ehra 抓包的原理入 teel
手, 要 析了E e a源 码 主 序 构 抓 流 并 关 数 行 分 ; 后 结 主 分 t r l 代 的 程 结 和 包 程, 对 键函 进 了 析 最 是小 。 he
根 di t e 据l n y 标识的 层类型 Ak p 链路
初始写抓包文件
对数据包进行分类
图2回调函数cp r pa_ 流程图 ate pe( u c b)
pa-tlc pa-t lh pa- tlith pa-tlu i.; tr-pa. ; tr-pa . . cpui. ; pui. ; pui-n.; pu i-nxc cpuewcpc cpuewcph c c c a a 32 . 流程分析
321 .. 关键数据结构 刘流程控制起到关键作用的有几个比较重要的数据变量: 在整个抓包源代码中,
需要详细说明:
调用WS S rp1 A tt ( au , S C T初始化 E OK
初始化变量 I d
调 e e lv ) 取 用P po n ( a p i e获 se
捕捉句柄
调用pa sbf 设置缓 e ee u' p Q st
冲区大小
调用 wa p c s c _a e) t_r e_ apc t p o s p k( p 将捕获的包转化为wa 格式 t p
17 30
现代电子信息技术理论与应用
能力) 而Ehra 就是一种能将本地网 , teel 卡状态设成混杂状态的软件 Ehra 软件可以 teel 运行在多个平台, 但只有在 Lnx i 下面是开放源码的,我们主要讨论Ehra 软件在 u teel Lnx 安装。 iu 下的 要完成安装需要一 下 s 几步I l 到Ehra 的官方网 l tee 站上下载Ehra 的 teel 源码 ehra-. . g; teel01 7tr z 0 a. . 解压文件¥a zv ehra- 1. r z tr f eel . . g; x t 0 07t . a 确保己 经安装gk l pa 软件包; t 和 i cp b 配置文件¥/ofgr; .cniue 编译¥ae ; mk 安装¥ae tl; isal mk n 运行, 在字符方式下¥ehra;在图形方式下¥teel tteel ehra, 如果要对软件进行修改,可以 修改源文件, 然后编译¥ae mk,这时编译器会对系统进行检查,只编译 修改的文件。 这时不需要安装, 直接运行¥八ehra . teel或¥/teel .ehra 来看调试的结果。
相关文档
最新文档