1、 TCPIP、UDP、ICMP数据包结构及分析【教学方法】多媒体演示讲解,利用图示解决重点、难点的教学问题;举例说明演示用法;设计实训帮助学生理解相关内容;【教学详细内容】 见下页【上机练习及作业题】 详见下页实训 利用协议分析工具捕获内网用户telnet 密码实验条件:虚拟机软件:Vmware ,新建两台PC PC1:IP:192.168.0.105 Windows 2000 ServerPrefessionalPC2:192.168.0.101 Windows 2000 ServerPrefessionalPc1:安装Sniffer pro 4.7.5 ,RectonD.exe2、抓Tel
2、net密码本例从192.168.113.208 这台机器telnet到192.168.113.50,用Sniff Pro抓到用户名和密码。练习时根据可从192.168.0.105这台机器telnet到192.168.0.101 步骤1:设置规则如图12所示,选择Capture菜单中的Defind Filter,出现图13界面,选择图13中的ADDress项,在station1和2中分别填写两台机器的IP地址,如图14所示选择Advanced选项,选择选IP/TCP/Telnet ,将 Packet Size设置为 Equal 55, Packet Type 设置为 Normal.。 图12图1
3、3 图14步骤2:抓包按F10键出现图15界面,开始抓包。图15步骤3:运行telnet命令本例使telnet到一台开有telnet服务的Linux机器上。之前,应该先远程开启目标机器的Telnet服务,利用这个小工具telnet 192.168.113.50login: testPassword:登录成功!步骤4:察看结果图16中箭头所指的望远镜图标变红时,表示已捕捉到数据,点击该图标出现图17界面,选择箭头所指的Decode选项即可看到捕捉到的所有包。可以清楚地看出用户名为test密码为123456。 图16图17解释:虽然把密码抓到了,但大家也许对包大小(Packet Size)设为55
4、不理解,网上的数据传送是把数据分成若干个包来传送,根据协议的不同包的大小也不相同,从图18可以看出当客户端telnet到服务端时一次只传送一个字节的数据,由于协议的头长度是一定的,所以telnet的数据包大小=DLC(14字节)+IP(20字节)+TCP(20字节)+数据(一个字节)=55字节,这样将Packet Size设为55正好能抓到用户名和密码,否则将抓到许多不相关的包。图18试验结束。实训 利用协议分析工具捕获内网用户FTP 密码 安装Sniffer pro 4.7.5安装配置FTP服务(默认的FTP即可)新建一个FTP用户test1,密码123456 本例从192.168.113.
5、208 这台机器ftp到192.168.113.50,用Sniff Pro抓到用户名和密码。练习时根据可从192.168.0.105这台机器登录到192.168.0.101 步骤1:如图12所示,选择Capture菜单中的Defind Filter出现图19界面,选择图19中的ADDress项,在station1和2中分别填写两台机器的IP地址,选择Advanced选项,选择选IP/TCP/FTP ,将 Packet Size设置为 In Between 63 -71, Packet Type 设置为 Normal。如图20所示,选择Data Pattern项,点击箭头所指的Add Patte
6、rn按钮,出现图21界面,按图设置OFFset为2F,方格内填入18,name可任意起。确定后如图22点击Add NOT按钮,再点击Add Pattern按钮增加第二条规则,按图23所示设置好规则,确定后如图24所示。图 12 图19 图20 图21 图22 图23 图24 步骤2:按F10键出现图15界面,开始抓包。运行FTP命令本例使FTP到一台开有FTP服务的LinuxWindows机器上D:ftp 192.168.113.50Connected to 192.168.113.50. 220test1 FTP server (Version wu-2.6.1(1) Wed Aug 9 0
7、5:54:50 EDT 2000) ready.User (192.168.113.50none):331 Password required for test.图16中箭头所指的望远镜图标变红时,表示已捕捉到数据,点击该图标出现图25界面,选择箭头所指的Decode选项即可看到捕捉到的所有包。可以清楚地看出用户名为test密码为123456789。 图25虽然把密码抓到了,但大家也许设不理解,将图19中Packet Size设置为 63 -71是根据用户名和口令的包大小来设置的,图25可以看出口令的数据包长度为70字节,其中协议头长度为:14+20+20=54,与telnet的头长度相同。F
8、tp的数据长度为16,其中关键字PASS占4个字节,空格占1个字节,密码占9个字节,Od 0a(回车 换行)占2个字节,包长度=54+16=70。如果用户名和密码比较长那么Packet Size的值也要相应的增长。Data Pattern中的设置是根据用户名和密码中包的特有规则设定的,为了更好的说明这个问题,请在开着图15的情况下选择Capture菜单中的Defind Filter,如图20所示,选择Data Pattern项,点击箭头所指的Add Pattern按钮,出现图26界面,选择图中1所指然后点击2所指的Set Data按钮。OFFset、方格内、Name将填上相应的值。同理图27中
9、也是如此。这些规则的设置都是根据你要抓的包的相应特征来设置的,这些都需要对TCP/IP协议的深入了解,从图28中可以看出网上传输的都是一位一位的比特流,操作系统将比特流转换为二进制,Sniffer这类的软件又把二进制换算为16进制,然后又为这些数赋予相应的意思,图中的18指的是TCP协议中的标志位是18。OFFset指的是数据包中某位数据的位置,方格内填的是值。图26 图27图28五、后记本文中的例子是网内试验,若捕捉全网机器的有关数据请将图13中的station设置为anyany,作为学习研究可以,可别做坏事!如果要用好Sniff Pro必须有扎实的网络基础知识特别是TCP/IP协议的知识,
10、其实Sniff Pro本身也是学习这些知识的好工具。Sniffer Pro是个博大精深的工具,由于水平有限,本文这是介绍了其中的一小部分,希望能起到抛砖引玉的作用。附件:复习内容(原第3课实训内容)实训 Sniffer pro的基本使用一、前言Sniffer Pro是非常优秀的协议分析软件,许多下载网站说它是最好的网络协议分析软件。做为一名合格的网管肯定需要有这么一套好的网络协议分析软件,它对分析网络故障等极为有用。 Sniffer Pro同时又是非常优秀的嗅探器,也就是说它可以捕捉到网络中其它机器的帐号和密码。本文介绍它的基本功能和用几个例子来演示捕捉密码的过程,也算是对学习TCP/IP的一
11、些补充。介绍嗅探(Sniffer)原理的文章非常多,本文就不啰嗦了。二、运行环境及安装Sniffer Pro可运行在局域网的任何一台机器上,如果是练习使用,网络连接最好用Hub且在一个子网,这样能抓到连到Hub上每台机器传输的包。本文用的版本是4.7.530,Sniffer Pro软件的获取可在中输入Sniffer Pro ,查找相应的下载站点来下载。安装非常简单,setup后一路确定即可,第一次运行时需要选择你的网卡。运行时可以看到Dashboard (网络流量表)就可以了。最好在win2000下运行,在win2003下运行网络流量表有问题。三、常用功能介绍1、Dashboard (网络流量
12、表)点击图1中所指的图标,出现三个表,第一个表显示的是网络的使用率(Utilization),第二个表显示的是网络的每秒钟通过的包数量(Packets),第三个表显示的是网络的每秒错误率(Errors)。通过这三个表可以直观的观察到网络的使用情况,红色部分显示的是根据网络要求设置的上限。选择图1中所指的选项将显示如图2所示的更为详细的网络相关数据的曲线图。每个子项的含义无需多言,下面介绍一下测试网络速度中的几个常用单位。在TCP/IP协议中,数据被分成若干个包(Packets)进行传输,包的大小跟操作系统和网络带宽都有关系,一般为64、128、256、512、1024、1460等,包的单位是字
13、节。很多初学者对Kbps、KB、Mbps 等单位不太明白,B 和 b 分别代表 Bytes(字节) 和 bits(比特),1比特就是0或1。1 Byte = 8 bits 。1Mbps (megabits per second兆比特每秒),亦即 1 x 1024 / 8 = 128KB/sec(字节/秒),我们常用的ADSL下行512K指的是每秒?512K比特(Kb), 也就是每秒512/8=64K字节(KB)2、Host table(主机列表)如图3所示,点击图3中所指的图标,出现图中显示的界面,选择图中所指的IP选项,界面中出现的是所有在线的本网主机地址及连到外网的外网服务器地址,此时想看
14、看192.168.113.88这台机器的上网情况,只需如图中所示单击该地址出现图4界面。图4中清楚地显示出该机器连接的地址。点击左栏中其它的图标都会弹出该机器连接情况的相关数据的界面。 图43、Detail(协议列表)点击图5所示的“Detail”图标,图中显示的是整个网络中的协议分布情况,可清楚地看出哪台机器运行了那些协议。注意,此时是在图3的界面上点击的,如果在图4的界面上点击显示的是那台机器的情况。4、Bar(流量列表)点击图6所示的“Bar”图标,图中显示的是整个网络中的机器所用带宽前10名的情况。显示方式是柱状图,图7显示的内容与图6相同,只是显示方式是饼图。图6图75、Matrix (网络连接)点击图8中箭头所指的图标,出现全网的连接示意图,图中绿线表示正在发生的网络连接,蓝线表示过去发生的连接。将鼠标放到线上可以看出连接情况。鼠标右键在弹出的菜单中可选择放大(zoom)此图。 图8四、抓包实例1、抓某台机器的所有数据包如图9所示,本例要抓192.168.113.208这台机器的所有数据包,如图中选择这台机器。点击所指图标,出现图10界面,等到图10中箭头所指的望远镜图标变红时,表示已捕捉到数据,点击该图标出现图11界面,选择箭头所指的Decode选项即可看到捕捉到的所有包。图9图10图11