IP通信基础作业
改ip地址
打开“网络和共享中心”
点击“更改适配器选项”双击打开已连接的网络
打开“属性”点击“Internet 协议版本 4(TCP/IPv4)”
更改IP配置,先用cmd命令打开电脑命令程序,再输入ipconfig命令查看WLAN自动配置的IP、掩码和网关。手动输入到“Internet协议版本4(TCP/IPv4)”中。点击确定 ,查看是否连接得上Internet。确认连接成功后再将IP地址的最后一格改成学号后三位,点击确认,再次查看网络连接。正常情况下这时是连接不上网络的。
在应用层捕获数据包
启动wireshark抓包软件,在抓取数据中选择一个HTTP报文,打开应用层,找到Request URI:后面的网址,右键复制选择“值”,在浏览器中打开。
抓取结果如上
抓取数据包时在抓取数据中选择一个HTTP报文,打开应用层,找到Request URI:后面的网址,右键复制选择“值”,在浏览器中打开。
捕获传输层TCP协议(连接建立、释放的过程)和UDP协议
一.应用层
1.http协议
(1)http请求报文
HTTP协议是运行在TCP协议之上的,该报文是实验主机向IP地址发出的HTTP请求。端口号为周知端口号80,主机上的源端口为58050,Next sequence number为0。
(2)http回复报文
这是目的主机给实验源主机发的HTTP回复报文,此时 Sequence Number 为0,Ack number为1,表示源实验主机发送的该号之前的字节它都已经收到。
二.传输层
- UDP协议
观看直播,抓取UDP包,如图所示,源端口63463,目标端口8000,数据报长度是99,校验和是0xa0b3。
TCP协议
(1)建立连接
打开抓包软件,选择http过滤,点击一个看起来比较靠谱的http协议信息,右键追踪流,选择TCP流就可以过滤出完整的三次握手和四次挥手数据。打开每一帧的传输层(Transmission Control Protocol)的Flags就能看到相应的信息。
第一次握手
客户端发送请求报文段,源端口为59354,目的端口为80,序列号seq为0,标志位SYN=1,表示客户端请求建立连接
第二次握手
服务器发回确认包,确认号ack=0+1=1,标志位ACK=1,SYN=1,选择的序号seq=0,表示收到连接请求,发回确认.
第三次握手
客户端再次发送确认,ACK=1,发送序号seq=0+1=1,确认序号ack=0+1=1,TCP连接就此建立了
释放连接
第一次挥手数据包:客户端给服务器发送TCP包,并停止再发送数据,主动关闭TCP连接。FIN=1,seq=220,ack=152
第二次挥手数据包:服务器发出确认,确认号ACK=1,ack=220+1=221,seq=152
第三次挥手数据包:服务器通知TCP释放连接,FIN=1,ACK=1,seq=221,ack=153
网络层
1.ARP协议
(1)广播请求
硬件类型(hardware type)是以太网(0x0001)。协议类型(protocol type)为IPV4(0x0800),表示使用ARP的协议类型为IPV4。硬件地址长度(hardware size)为6。协议地址长度(protocol size)为4,操作类型(opcode)为1,表示报文类型为ARP请求。请求报文广播192.168.191.1的mac地址,需告诉192.168.199.28这个报文为请求包,源ip地址是192.168.199.28,但是不知道目标ip地址192.168.191.1的mac地址
(2)单播应答
如图所示,操作类型(opcode)为2,表示报文类型为ARP应答。响应的报文对请求的地址单播说:“192.168.199.28的mac地址是7c:67:a2:d1:f6:5f”
IP报文
Version:4 是指版本为IPv4。
Header Length:20bytes(5) 是指首部长度为20字节。
Total length:1492 代表ip报文段总长度是1492。
Identification:0xbe7d(48765)表示标识符
1=Don’t fragment:Set 表示不能分片
Time to live:54 表示生存时间为54bits
Protocol:TCP(6) 表示上层的协议为TCP
Header checksum:0x537e[validation disabled] 表示首部校验和为0x673e
Source:183.201.217.213和Destination:192.168.199.28表示源地址是183.201.217.213,目的地址是192.168.199.28
数据链路层
(1)MAC帧格式
第一行表示261号帧,线路616字节,实际捕获616字节。
Frame Number:261 表示帧序号
Frame Length:77 bytes 表示帧长度
Capture Length:77bytes 表示捕获长度
[Frame is marked: False] 表示此帧是否做了标记:否
[Protocols in frame: eth:ethertype:ip:udp:dns] 表示帧内封装的协议层次结构
(2)MAC地址分析
表示是IPv4版本(十六进制0x0800)
五.总结
本次抓包实验让我意识到了自己的不足,但也让我进步很大。经过这次实验的洗礼,我熟悉了Wireshark的使用方法,稍微知道了这个软件的意义,也学会了Wireshark软件并去捕获各协议报文包括协议序列和报文内容,虽然还没搞懂它的原理,但也让我受益匪浅,在一次又一次的失败中我学会怎样更效率的使用Wireshark。我分析报文格式和各报文协同工作后,更加深入的明白ARP协议、HTTP协议、UDP协议以及TCP协议工作过程。当然,这次的作业避免不了困难,我遇到的问题有:
1.不懂得UDP协议是如何抓包的,一直没有找到UDP协议
解决方法:通过万能的百度,明白UDP协议是用于直播方面的,便从网页上打开一个斗鱼,YY直播,之后通过wireshark再去筛选UDP协议。
2.再寻找握手挥手的协议时发现挥手次数少了一次
解决方法:本人实在愚笨,通过百度也没找到解决方法,并且卡了好久好久,实在无奈加上时间紧迫只写了三次挥手过程,实在令我痛心