实验一IP协议练习一利用仿真编辑器发送IP数据包描述:收发IPv4报文,不填上层协议.问题:①查看捕获到得报文长度是60,和你编辑的报文长度不同,为什么?最小帧长度为60,当不足60时,在源数据尾部添加0补足。②讨论,为什么会捕获到ICMP目的端口不可达差错报文?差错报文的类型为协议不可达,因为上层协议为0,未定义。练习二编辑发送IPV6数据包描述:收发IPv6报文.问题:①比较IPV4头,IPV6有了那些变化?IPV4的TTL字段在IPV6里对应那个字段?比较IPv4和IPv6的报头,可以看到以下几个特点:●字段的数量从IPv4中的13(包括选项)个,降到了IPv6中的8个;●中间路由器必须处理的字段从6个降到了4个,这就可以更有效地转发普通的IPv6数据包;●很少使用的字段,如支持拆分的字段,以及IPv4报头中的选项,被移到了IPv6报头的扩展报头中;●●IPv6报头的长度是IPv4最小报头长度(20字节)的两倍,达到40字节。然而,新的IPv6报头中包含的源地址和目的地址的长度,是IPv4源地址和目的地址的4倍。对应:跳限制----这个8位字段代替了IPv4中的TTL字段。练习三:特殊的IP地址描述:直接广播地址包含一个有效的网络号和一个全“1”的主机号,只有本网络内的主机能够收到广播,受限广播地址是全为1的IP地址;有限广播的数据包里不包含自己的ip地址,而直接广播地址里包含自身的ip地址练习四:IP包分段实验问题:讨论,数据量为多少时正好分两片?1480*2=2960练习五:netstat命令描述:C:netstat–s;查看本机已经接收和发送的IP报文个数C:netstat–s;查看本机已经接收和发送的IP报文个数C:netstat–e;观察以太网统计信息,实验二2.1ARP协议练习一维护ARP缓存表描述::查看ARP缓存:arp–a手动建立ARP表:arp–sIP(如172.16.0.31)MAC(如:00-E0-4D-3D-84-53)清空ARP缓存表:arp–d练习二仿真发送ARP请求报文描述:ARP协议叫物理解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间2.2ICMPv4协议练习一利用仿真编辑器编辑ICMP回显请求报文练习二仿真发送ICMP时间戳请求报文描述:ICMP封装在IP报文里面,一个ICMP报文32位,8位类型,八位代码,16位校验和2.3ICMPv6只是把ICMP放在了IPv6数据包的载荷中.实验三3.1ARP练习一发送ARP请求报文(不同网段内)描述:在跨越路由器进行通信的时候,发起通讯的主机发现目的地址不在同一个网段,会先查询路由器的地址,于是广播出ARP请求,路由器的入口网卡发现有一个ARP请求的目的IP是自己的IP地址,于是回复自己的Mac,得到了Mac,发起通信的主机将通信内容发送到路由器的入口网卡,并选路到出口网卡,此时出口网卡需要知道目标的Mac,于是广播出ARP查询,目标机回复自己的Mac,路由器的出口网卡成功的将信息发送到目标机器.练习二ICMP差错报文描述:ICMP目的端口不可达/超时/的情况.注意为了模拟目的端口不可达,某主机ping一个不存在的IP地址,为了模拟超时,向一个跨路由器的目标通信,但是TTL设置为1,路由器会丢弃TTL耗尽的包,因为根本就收不到,所以当然就没有回复,就会超时试验3.2ARP欺骗描述:1、ARP高速缓存ARP缓存表是记录IP地址和MAC地址的映射关系。ARP表分为动态更新和静态更新两种,系统默认动态,更新时间为120秒。ARP表的建立是通过以下两个途径:●主动解析:如果一台计算机想与另一台不知道MAC地址的计算机通信,则该计算机主动发ARP请求;●被动解析:如果一台计算机接收到了一台计算机的ARP请求,则首先在本地建立请求计算机的IP地址和MAC地址的对应表;ARP地址欺骗正是利用高速缓存,使高速缓存中存在错误的映射关系,误导数据包发往错误的目的地。2、ARP地址欺骗的原理一般情况下,当系统收到ARP请求或应答时,都要把源端的硬件地址和IP地址填入ARP高速缓存。正是根据这一性质,为ARP欺骗提供了条件。编辑一个ARP应答数据包,将ARP层的源IP地址为主机A的IP地址,将ARP层的源MAC地址填为主机B的MAC地址,将MAC层的源地址填为主机A的MAC地址,发送这个数据包。当到达目的主机时,由于ARP特性:当系统收到ARP请求或应答时,都要把请求端的硬件地址和协议地址填入ARP高速缓存。所以在向ARP高速缓存中添加表项时,添加的是主机A的IP地址和主机B的MAC地址值。当要向主机A发送数据包时,要发送的数据包的目的MAC地址填入了由高速缓存中提取的地址(主机B的MAC地址),这样,要发送给主机A的数据包被发送给了主机B。实验3.3ICMPRedirect练习一利用ICMP重定向进行信息窃取描述:主机可能会把某数据发送到一个错误的路由。在这种情况下,收到该数据的路由器会把数据转发给正确的路由器,同时,它会向主机发送ICMP重定向报文,来改变主机的路由表。给主机来指出存在一个更好的路由。试验时,主机A给E发送报文,主机B作为路由器,主机C给A发送ICMP重定向报文,在网关地址中添加自己的IP地址,并按照上表填写ICMP数据部分,此时主机A的路由表中出现了主机A到E的一条记录,网关是C的IP地址;问题:说明ICMP重定向的意义.意义:ICMP重定向使得客户端管理工作大大减少,使得对于主机的路由功能要求大大降低。而且当路由线路非最优化是线路的速度一定有所损失。而有了重定向之后可以很快的修改非最优线路提高通信速度。实验四UDP练习一利用仿真编辑器编辑UDP数据包并发送描述:UDP和TCP都是传输层的协议,他们被应用层使用,为了实现多路复用和多路分解,应用层使用了端口号,所以UDP中需要填写源端口和目的端口.问题:①将UDP的校验和填“0”,在捕获包中查看校验和是否正确?正,UDP没有纠错能力,也没有回执机制,所以即使它能够发现自身的错误,也没有能力和必要去纠正错误练习二UDP单播通信描述:使用UDP工具进行通信,确认UDP没有确认报文;练习三利用仿真编辑器编辑UDP数据包,利用工具接收描述:向目的主机的没有开放的端口发送UDP,会产生目的端口不可达的ICMP信息.练习四UDP受限广播通信描述:使用UDP通信工具,在受限广播地址(全是1)上向发送UDP广播,相连的设备无论是否在同一个网段之内,都能够收到信息,该报文的目的MAC地址是FFFFFF-FFFFFF.练习五UDP直接广播通信描述:使用UDP工具,在直接广播地址上(网络号+255)上发送广播,只有同一个网段的设备能够接收到,该报文的目的MAC地址是FFFFFF-FFFFFF.问题:说明受限广播和直接广播的区别?直接广播地址包括一个有效网络号和一个全1的广播号,主机可能还不知道他所在网络的网络掩码,路由器可能对该种数据报进行转发。受限广播地址是一个32位全为1的IP地址,在任何情况下这样的数据包仅出现在本地网络中,路由器不对该种数据报进行转发。练习六利用仿真编辑器编辑IPV6的UDP数据包并发送描述:在UDP上,IPv4和IPv6没有区别练习七运行netstat命令描述:netstat命令是用于显示网络使用协议的统计;netstat–s;显示每个协议的使用状态,netstat–a;显示主机正在使用的端口号实验五TCP练习一观察TCP协议的连接和释放过程描述:问题::TCP连接建立时,前两个报文的TCP层首部有一个“maximumsegmentsize”字段,它的值是多少?怎样得出的?最大字段长度为1460,该字段长度通常受该计算机连接的网络的数据链路层的最大传送单元限制。1460=1500-20(IP首部)-20(TCP首部)练习二利用仿真编辑器编辑并发送TCP数据包描述:使用仿真编辑器手动实现TCP的三次握手连线和四次握手拆线过程.练习三TCP的重传机制描述:接收端开启过滤软件,阻断TCP通信,TCP会进行重传,在这个例子中,重传了五次实验六6.1DNS练习一nslookup工具的使用描述:nslookup命令是查询域名对应IP的工具,其用法是:nslookup域名,运行结果:Server:(JServer.NetLab);Address:(172.16.0.253);Name:(host34.NetLab);Address:(172.16.0.34);反向查询某个IP的域名:nslookup172.16.0.253运行结果Server:(JServer.NetLab);Address:(172.16.0.253);Name:(JServer.NetLab);Address:(172.16.0.253);练习二仿真编辑DNS查询报文(正向解析)描述:这里最重要的东西是DNS的报文格式和”域名循环体”的问题.图片是域名循环体.练习三仿真编辑DNS查询报文(反向解析)练习四ipconfig命令描述:ipconfig/displaydns;显示本机缓冲区中DNS解析的内容;ipconfig/flushdns;清空本机DNS缓冲区中的内容;注意DNS缓存是有生存周期的.实验6.2UDP端口扫描练习一UDP端口扫描描述:向目标端口发送一个UDP协议分组。如果目标端口以“ICMPportunreachable”消息响应,那么说明该端口是关闭的;反之,如果没有收到“ICMPportunreachable”响应消息,则端口是打开的.实验6.3TCP端口扫描1、TCPSYN扫描这种方法是向目标端口发送一个SYN分组(packet),如果目标端口返回SYN/ACK标志,那么可以肯定该端口处于检听状态;否则返回的是RST/ACK标志。3、TCPFIN扫描这种方法是向目标端口发送一个FIN分组。按RFC793的规定,对于所有关闭的端口,目标系统应该返回一个RST(复位)标志。这种方法通常用在基于UNIX的TCP/IP协议堆栈,有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描.相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系,Windows系统不管端口是否打开,都回复RST,否则就是其他的操作系统,这样,这种扫描方法就不适用了。实验七7.1FTP协议练习一FTP描述:注意事项:FTP登录的时候,可以捕获到用户名和密码的明文,USER是用户名命令,PASS是密码命令,LIST是dir的命令,问题:①FTP服务器是如何知道用户的数据端口?客户端通过PORT命令告知服务器:PORT172,16,0,16,5,101,端口是:5*256+101=1381②21端口和20端口分别传输什么内容?21端口传输控制信息,20端口传输数据,数据传输结束后,20端口关闭,21端口未关闭,发送quit命令之后,两个端口都关闭.练习二使用浏览器登入FTP描述:控制台登录和浏览器登录是不一样的,使用浏览器登录,会启动被动模式.问题:①FTP服务器用哪个端口传输数据,数据连接是谁发起的连接?FTP服务器用8361接口传输数据,数据连接是客户端主动发起(即此时使用的是PASV模式)②用户是如何知道服务器的数据端口?服务器对客户端的PASV命令返回应答:227EnteringPassiveMode(172,16,0,253,32,169),告知客户端服务器端已经打开了8361(32*256+169=8361)端口作为数据端口。练习三在窗口模式下,上传/下传数据文件实验7.2HTTP练习一主页访问描述:注意HTTP协议的所有东西都封装在TCP中问题