1、Ethereal的使用。三、 捕捉任何主机发出的Ethernet 802.3格式的帧和DIX Ethernet V2(即Ethernet捕捉任何主机发出的Ethernet 802.3格式的帧(帧的长度字段=1500), Ethereal的capture filter 的filter string设置为:ether12:2 1500, 帧的长度字段实际上是类型字段), Ethereal的capture filter 的filter string设置为:2 1500。观察并分析帧结构,802.3格式的帧的上一层主要是哪些PDU?是IP、LLC还是其它哪种?(学校里可能没有,如果没有,注明没有就可以
2、了)观察并分析帧结构,Ethernet II的帧的上一层主要是哪些PDU?四、 捕捉并分析局域网上的所有ethernet broadcast帧,Ethereal的capture filter 的filter string设置为:ether broadcast。观察并分析哪些主机在发广播帧,这些帧的高层协议是什么?你的LAN的共享网段上连接了多少台计算机?1分钟内有几个广播帧?有否发生广播风暴?五、捕捉局域网上的所有ethernet multicast帧,Ethereal的capture filter 的filter string设置为:ether multicast 观察并分析哪些节点在发mu
3、lticast帧,这些帧的高层协议是什么?【实验指导材料】用Ethereal分析协议数据包 Ethereal是一个图形用户接口(GUI)的网络嗅探器,能够完成与Tcpdump相同的功能,但操作界面要友好很多。Ehtereal和Tcpdump都依赖于pcap库(libpcap),因此两者在许多方面非常相似(如都使用相同的过滤规则和关键字)。Ethereal和其它图形化的网络嗅探器都使用相同的界面模式,如果能熟练地使用Ethereal,那么其它图形用户界面的嗅探器基本都可以操作。1. Ethereal的安装 由于Ethereal需要WinPcap库, 所以先安装WinPcap_2_3.exe, 再
4、安装Ethereal.exe。2. 设置Ethereal的过滤规则 当编译并安装好Ethereal后,就可以执行“ethereal”命令来启动Ethereal。在用Ethereal截获数据包之前,应该为其设置相应的过滤规则,可以只捕获感兴趣的数据包。Ethereal使用与Tcpdump相似的过滤规则(详见下面的“5.过滤规则实例”),并且可以很方便地存储已经设置好的过滤规则。要为Ethereal配置过滤规则,首先单击“Edit”选单,然后选择“Capture Filters.”菜单项,打开“Edit Capture Filter List”对话框(如下图所示)。因为此时还没有添加任何过滤规则,
5、因而该对话框右侧的列表框是空的。 在Ethereal中添加过滤器时,需要为该过滤器指定名字及规则。例如,要在主机10.1.197.162和间创建过滤器,可以在“Filter name”编辑框内输入过滤器名字“sohu”,在“Filter string”编辑框内输入过滤规则“host 10.1.197.162 and ”,然后单击“New”按钮即可,如下图所示。 在Ethereal中使用的过滤规则和Tcpdump几乎完全一致,这是因为两者都基于pcap库的缘故。Ethereal能够同时维护很多个过滤器。网络管理员可以根据实际需要选用不同的过滤器,这在很多情况下是非常有用的。例如,一个过滤器可能用
6、于截获两个主机间的数据包,而另一个则可能用于截获ICMP包来诊断网络故障。 当所有需要的过滤器都创建好后,单击“Save”按钮保存创建的过滤器,然后单击“Close”按钮来关闭“Edit Capture Filter List”对话框。要将过滤器应用于嗅探过程,需要在截获数据包之前或之后指定过滤器。要为嗅探过程指定过滤器,并开始截获数据包,可以单击“Capture”选单,选择“Start.”选单项,打开“Capture Options”对话框,单击该对话框中的“Filter:”按钮,然后选择要使用的过滤器,如下图所示。注意在“Capture Options”对话框中,“Update list
7、of packets in real time”复选框被选中了。这样可以使每个数据包在被截获时就实时显示出来,而不是在嗅探过程结束之后才显示所有截获的数据包。在选择了所需要的过滤器后,单击“OK”按钮,整个嗅探过程就开始了。Ethereal可以实时显示截获的数据包,因此能够帮助网络管理员及时了解网络的运行状况,从而使其对网络性能和流量能有一个比较准确的把握。3. 用Ethereal分析数据包 Ethereal和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进
8、制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。使用Ethereal可以很方便地对截获的数据包进行分析,包括该数据包的源地址、目的地址、所属协议等。图4是在Ethereal中对一个HTTP数据包进行分析时的情形。在图4最上边的数据包列表中,显示了被截获的数据包的基本信息。从图中可以看出,当前选中数据包的源地址是10.1.197.162,目的地址为61.135.150.65,该数据包所属的协议是超文本传输协议(HTTP)。更详细的信息表明该数据包中含有一个HTTP的GET命令,要求下载starrtlog.js文件到客户端的Web浏览器。图4 用Ethereal分析数据包内容图4
9、中间是协议树,通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址(Ethernet II)、IP地址(Internet Protocol)、TCP端口号(Transmission Control Protocol),以及HTTP协议的具体内容(Hypertext Trnasfer Protocol)。通过扩展协议树中的相应节点,可以得到该数据包中携带的更详尽的信息。图4最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最终形式,当在协议树中选中xz某行时,与其对应的十六进制代码同样会被选中,这样就可以很方便地对各种协议的数据包进行分析。Ethereal提
10、供的图形化用户界面非常友好,管理员可以很方便地查看到每个数据包的详细信息,协议树及其对应的十六进制表示对分析每个数据包的目的很有帮助,综合使用Ethereal和Tcpdump能够基本满足网络管理员在Linux和windows系统上的所有嗅探要求。4. tcpdump的表达式介绍tcpdump的表达式就是前面提到的Ethereal过滤规则。表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,net,po
11、rt, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host. 第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src , 这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。
12、第三种是协议的关键字,主要包括:ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp, udp.。Fddi指明是在 FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是ether的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。 其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。 除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运
13、算是 not !, 与运算是and,&;或运算 是or ,|;这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来1、想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:#tcpdump host 210.27.48.1 2、想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用括号时,一定要 #tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 ) 3、如果想要获取主机210.27.48.1除了和主机210.27.48.2
14、之外所有主机通信的ip包,使用命令: ip host 210.27.48.1 and ! 210.27.48.2 4、如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:tcp port 23 host 210.27.48.15.过滤规则实例 捕捉主机10.14.26.53和www服务器之间的通信(这里主机10.14.26.53可以是自身,也可以是通过普通HUB(而不是交换机)与本机相连的LAN上的其它主机或路由器,下同),Ethereal的capture filter 的filter string设置为:host 10.14.26.53 and 捕捉局域网上的所有
15、ARP包,Ethereal的capture filter 的filter string设置为:arp 捕捉局域网上主机10.14.26.53发出或接受的所有ARP包,Ethereal的capture filter 的filter string设置为:arp host 10.14.26.53或者等价地设置为:arp and host 10.12.105.27 捕捉局域网上主机10.14.26.53发出或接受的所有POP包(即src or dst port110),Ethereal的capture filter 的filter string设置为:tcp port 110 and host 10.
16、14.26.53tcp and port 110 and host 10.14.26.53 捕捉局域网上主机10.14.26.53发出或接受的所有FTP包(即src or dst port21),Ethereal的capture filter 的filter string设置为:tcp port 21 and host 10.14.26.53(1). 在主机10.14.26.53上用FTP客户端软件访问FTP server。(2). 观察并分析10.14.26.53和FTP server之间传输的Ethernet II (即DIX Ethernet v2) 帧结构,IP数据报结构,TCP se
17、gment结构。(3). 观察并分析FTP PDU名称和结构。注意10.14.26.53发出的FTP request PDU中以USER开头、以PASS开头的两个PDU,他们包含了什么信息?对INTERNET的FTP协议的安全性作出评价。 捕捉局域网上的所有icmp包,Ethereal的capture filter 的filter string设置为:icmp 捕捉局域网上的所有ethernet broadcast帧,Ethereal的capture filter 的filter string设置为:ether broadcast 捕捉局域网上的所有IP广播包,Ethereal的capture
18、 filter 的filter string设置为:ip broadcast 捕捉局域网上的所有ethernet multicast帧,Ethereal的capture filter 的filter string设置为: ip multicast 捕捉局域网上的所有ethernet multicast或broadcast帧,Ethereal的capture filter 的filter string设置为: ether0 & 1 != 0 要以MAC address 00:00:11:22:22为抓封包条件, Filter string设置为:ether host 00:22FTP模型与测试分
19、析环境 协议分析器协议分析器的作用就是监视FTP客户与FTP服务器的协议交互过程,记录并对协议包进行分析;分析环境的具体参数是:FTP服务器:MAC地址为 00-00-C0-22-A1-01 IP地址为 201.5.21.1控制连接端口号为 20数据连接端口号为 21FTP客户: MAC地址为 02-60-8C-01-24-28IP地址为 201.5.21.25数据连接端口号为 15432控制连接端口号为 7180FTP工作模型 FTP控制连接建立过程的协议分析 地址解析ARP协议执行过程FTP控制连接建立过程协议包46 是FTP 控制连接建立的协议执行过程协议包4:FTP客户请求建立与FTP
20、服务器控制连接包FTP控制连接建立的协议包交互过程 FTP用户登录身份验证过程的协议分析协议包916是用户身份的协议执行过程 协议包9:FTP客户发送给FTP服务器的User命令协议包 协议包10:FTP服务器发送给FTP客户对User命令的应答包 协议包12:FTP客户发送给FTP服务器的带有用户名与密码的应答包 FTP用户登录身份验证的协议包交互过程FTP数据连接建立过程的协议分析 FTP数据连接建立分为:连接建立准备、连接建立阶段协议包17、18完成数据连接建立准备工作协议包17:FTP客户发送给FTP服务器的Port命令包协议包18:FTP服务器发送给FTP客户的Port命令应答包根据
21、FTP协议的规定, FTP客户可以动态地选择一个大于1024的本地端口号FTP协议表示方法:在Port命令中客户IP地址后面加上两个十进制的数P1、P2,表示16位的本地端口号,计算公式是本地端口号= P1256+ P2协议包19: FTP客户发送给FTP服务器的RETR命令包FTP数据连接建立准备工作的协议包交互过程数据连接建立过程协议包2022完成数据连接建立工作 FTP数据传输过程的协议分析 协议包2325完成数据传输工作 协议包23:FTP服务器向FTP客户发回文件netstart的状态信息协议包25:FTP服务器向FTP客户发送的检索文件的数据包 协议包26: FTP服务器在传输数据的同时,向FTP客户发送在文件传输结束时断开数据连接的通知协议包 FTP数据传输中最后一个数据包的结构 FTP数据传输和确认的协议包交换过程FTP连接释放过程的分析 一个完美的传输连接的释放机制应该是任何一方都可以提出,但是必须双方都同意,才可以释放连接;FTP连接建立分为控制连接建立与数据连接建立两个阶段,因此连接释放也应包括释放控制连接与释放数据连接两个阶段;首先应该释放数据连接,然后再释放控制连接。FTP客户做FIN置位的应答包 FTP客户的QUIT命令包结构 FTP服务器对QUIT命令的响应包的结构(tu)FTP数据连接释放过程FTP控制连接的释放过程
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1