IP通信作业1 抓包协议分析
网络抓包分析
目录
一、Tcp格式
二、Udp报文格式
三、TCP协议的连接管理(TCP的三次握手)
四、IP报文格式
五、ICMP
六、数据链路层帧格式
七、总结
八、自我评价
九、总评
一、Tcp格式
源端口号80;目标端口号13688;
序列号1;
确认号1
报头长度20byts(4bit)
标志位0x010(ACK)
Reverved、Nonce、CWR、Ecn-Echo(6bit):目前没有使用,它们的值都为0,作为保留,留待以后开发新技术时使用。
URG(Urgent Pointer Field Significant):紧急指针标志,用来保证TCP连接不被中断,并且督促中间设备尽快处理这些数据
ACK(Acknowledgement Field Signigicant):确认号字段,该字段为1时表示应答字段有效,即TCP应答号将包含在TCP报文中。
PSH(Push Function): 推送功能,所谓推送功能指的是接收端在接收到数据后立即推送给应用程序,而不是在缓冲区中排队。
RST(Reset the connection): 重置连接,不过一般表示断开一个连接,
SYN(Synchronize sequence numbers):同步序列号,用来发起一个连接请求。
FIN(No more data from sender):表示发送端发送任务已经完成(即断开连接)。
窗口大小301
校验和0xa290
紧急指针0
二、Udp报文格式
抓包结果
源端口4015;目标端口8000;用户数据长度155;校验和0x8e67;数据147 byt
三、TCP协议的连接管理(TCP的三次握手)
在浏览器中输入网址
http://www.cnblog.com/tankxiao
再在wireshark中输入http过滤,选中Get/tankxiao HTTP/1.1进行分析。
本机当前IP为172.31.121.14
三次握手过程
第一次握手数据包
客户端发送一个TCP,标志位为SYN,序列号为0,代表客户端请求建立连接。如下图所示
第二次握手数据包
服务器发回确认包,标志位为SYN,ACK。将确认序号(Acknowledgement Number)设置为客户的ISN+1,即0+1=1,如下图。
第三次握手数据包
客户端再次发送确认包(ACK),ACK标志位为1,并将服务器发来的ACK序号字段+1放在确定字段中且发送给对方,在数据段放写ISN+1,如下图
经以上过程通过TCP三次握手,建立连接。
四、IP报文格式
抓包结果
版本是IPV4
首部长度20bytes(4bit)
服务类型
总长度52
标识0x4113(16659)
标志0x02
内部偏移0
生存时间64
协议TCP(6)
首部校验和0xdcec
源ip地址192.168.1.5
目标ip地址103.78.243.100
五、ICMP
ICMP报文格式
(1) 在cmd下执行ping www.baidu.com
(2) 在wireshark抓到8个ICMP的查询报文(分别是四次请求,四次应答)
分析:
① 红色框中蓝色为IP首部,共同拥有20个字节
② 红色框中蓝色为ICMP报文字段,共同拥有40个字节
③ ICMP报文内容
类型type为8(回射请求/ping请求);
代码code为0;
校验和checksum为0x4d56
④ 点击下一个报文
类型type为0(回射应答/ping应答);
代码code为0;
校验和checksum为0x5556
六、数据链路层帧格式
用Wireshark抓捕相应一段时间的数据包(如下图 )
1.Ethernet帧结构
选取任意帧分析,在在首部细节信息栏中,可以看到有关该帧的到达时间、帧编号、帧长度、帧中协议和着色方案等信息。(如选取17号帧进行分析)
Ethernet帧结构分析
Ethernet帧结构,有几种不同类型的帧结构,尽管它们格式和最大传输单元不同,但却能够共存于相同的物理媒体上。EthernetII 帧(又称DIX帧)是目前使用最广的以太帧。如下图显示了Ethernet II帧结构(该帧前后的辅助字段没有显示)。与802.3以太帧结构相比,它较为简单。其中的以太类型字段标识了封装了该帧数据中的较高层协议。例如,以太类型值为0x0800指示了该帧包含了IPv4数据报,0x0806表明指示了该帧包含了ARP帧,0x8100指示了该帧包含了IEEE 802.1Q帧。
2.IEEE 802.11帧结构
分析IEEE 802.11帧结
IEEE 802.11帧结构,是在以太网链路上运行的一种数据分组,开始于前导码和帧定界符起始,后继的是以太首部的目的和源地址。 该帧的中部是载荷数据,其中包括了由该帧携带的其他协议(如IP)的首部。该帧的尾部是32比特的循环冗余码校验,以检测数据传输时可能的损伤。它完整的帧结构如下图所示:
Protocol version:表明版本类型,现在所有帧里面这个字段都是0x00。 *Type:指明数据帧类型,是管理帧,数据帧还是控制帧。 Subtype:指明数据帧的子类型,因为就算是控制帧,控制帧还分RTS帧,CTS帧,ACK 帧等等,通过这个域判断出该数据帧的具体类型。 To DS/From DS:这两个数据帧表明数据包的发送方向,分四种可能情况讨论: **若数据包To DS为0,From DS为0,表明该数据包在网络主机间传输。 **若数据包To DS为0,From DS为1,表明该数据帧来自AP。 **若数据包To DS为1,From DS为0,表明该数据帧发送往AP。 若数据包To DS为1,From DS为1,表明该数据帧是从AP发送自AP的,也就是说这个是个WDS(Wireless Distribution System)数据帧。 Moreflag:分片标志,若数据帧被分片了,那么这个标志为1,否则为0。 *Retry:表明是否是重发的帧,若是为1,不是为0。 PowerManage:当网络主机处于省电模式时,该标志为1,否则为0。 Moredata:当AP缓存了处于省电模式下的网络主机的数据包时,AP给该省电模式下的网络主机的数据帧中该位为1,否则为0。 Wep:加密标志,若为1表示数据内容加密,否则为0。 *Order 这个表示用于PCF模式下。 Duration/ID(持续时间/标识):表明该帧和它的确认帧将会占用信道多长时间;对于帧控制域子类型为:Power Save-Poll的帧,该域表示了STA的连接身份(AID, Association Indentification)。
3)Address(地址域):源地址(SA)、目的地址(DA)、传输工作站地址(TA)、接收工作站地址(RA),SA与DA必不可少,后两个只对跨BSS的通信有用,而目的地址可以为单播地址(Unicast address)、多播地址(Multicast address)、广播地址(Broadcast address)。 4)Sequence Control(序列控制域):由代表MSDU(MAC Server Data Unit)或者MMSDU(MAC Management Server Data Unit)的12位序列号(Sequence Number)和表示MSDU和MMSDU的每一个片段的编号的4位片段号组成(Fragment Number)
七、总结
这次实验室对Wireshark抓包软件的分析和了解。其中,Wireshark是一款基于winpcap的抓包软件,它的界面是友好的,功能很强大,可以工作在Unix和Windows等平台上,能从选定的网路接口上捕获活动的数据包,并基于多种过滤器、规则实现数据过滤。通过短暂的学习研究,我发现Wireshark主要功能是帮助我们更好的学习和理解协议。因此,该作业主要是要我们了解并初步使用Wireshark,能从能从所用所用电脑上进行抓包并用该软件分析数据包格式,并分析对应的IP数据报文格式,这次实验是在老师和同学的帮助下完成的。
通过这次实验也让我对Wireshark抓包工具有了更进一步的了解和认识,并对使用方法有了更好的掌握。
八、自我评价
我认为本次实验我认真去做了,结果无所谓了。希望老师能给我个及格分。60分以上就好。若本次实验有任何错误或则不足,希望老师能及时提醒我,我一定虚心接受教导并及时改正。
九、总评
指导教师评语及成绩: