抓包分析

一、            配置地址

(一)  网络地址规划表

源IP地址

默认网关地址

目的IP地址

域名

备注

192.168.101.30

192.168.101.1

222.218.87.132

www.sanguosha.com

目的IP地址为三国杀的官网IP地址

 

 

 

(二)  连通性测试

 

步骤:1.按windows键打开开始菜单,输入cmd,回车

           2.进入命令提示符界面,输入ping 222.218.87.132连接www.sanguosha.com的ip地址

 

 

 

 

(三)  配置IP地址步骤

  1. 点击电脑右下角的网络标志,点击“网络和INTERNET设置”
  2. 点击更改适配器选项,进入网络连接界面
  3. 选中已连接的网络,双击打开,点击详细信息,查看当前电脑在网络中的IP地址、子网掩码、网关、DNS服务器地址等重要的网络信息
  4. 关闭详细信息窗口,点击属性
  5. 选中“Internet协议版本4(TCP/IPV4)”,点击属性
  6. 点击使用下面的IP地址选项,输入要需要修改的新的IP地址、子网掩码、网关、DNS服务器地址等信息,点击确定

 

 

 

二、应用层

打开Google Chrome浏览器,打开Wireshark抓包软件,开始抓包,抓完包后,通过显示过滤器过滤http与IP地址为222.218.87.132的信息,如下图所示

 

 

 

 

 

 

 

通过复制hypertext transfer protoucol中的网址,在goole chrome浏览器中打开,内容如下图所示

 

 

 

 

 

 

三传输层

 

(一)  TCP报文格式

 

下面是TCP报文格式

 

源端口(Source Port):55457

 

目的端口(Destination Port):80

 

序列号(Sequence number):0

 

32位确认序列号(Acknowledgment number):0(表示数据包收到,确认有效)

 

手动的数据包的头字节长度是20字节;Flags是TCP标志:含6种标志:

ACK:确认序号有效;SYN:同步序号,用来发起一个连接;FIN:发端完成发送任务;

RST:重新连接;PSH:接收方应该尽快将这个报文段交给应用层;URG:紧急指针(urgentpointer)有效

 

流量控制窗口大小(Window size value):64240;数据段的校验和(Checksum):0xf7cb

 

 

 

 

(二)  TCP协议(第一次握手)

客户端发送一个TCP,标志位为SYN,序列号为1,代表客户端请求建立连接

 

 

 

 

 

(三)  TCP协议(第二次握手)

服务器发回确认包,标志位为SYN,ACK.将确认序号(Acknowledgement Number)设置为客户的ACK加1,即0+1=1

 

 

 

 

 

(四)  TCP协议(第三次握手)

客户端再次发送确认包(ACK),SYN标志位为0,ACK标志位为1,并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方。

 

 

 

 

 

(五)  UDP协议

端口号(Sourse Port):60156

目的端口号(Destination Port):9025

长度(Length):52

数据段的校验和(Checksum):0x782c

由于udp是无连接的,可以在任何时候收发数据,加上udp本身处理简单高效,因此udp常用于包总量少的通信,如DNS,SNMP,即时通信,广播通信等等

 

四、网络层

(一)  IP报文

IP报文格式如下:

IP协议版本(Version): 4

头部数据长度(Header length):20 byte (5)

区分服务字段(Differentiated Services Field): 0x00(DSCP:CS0,ECN:Not-ECT)

生存时间(ime to live)64 (TTL,TTL通常表示包在被丢弃前最多能通过的路由器个数,当数据包传输到一个路由器之后,TTL就自动减1,如果到0了还没有传送到目标主机,那么就自动消失)

头部校验和(header checksum):0x9792

源IP地址(Source):192.168.101.30

目的IP地址(Destination):222.218.87.132

 

 

 

 

(二)  ARP协议

硬件类型(Hareware type):Ethernet(1)

协议类型(Protocol type):IPv4(0x0800)

硬件尺寸(Hardware size):6

协议尺寸(Protocol size):4

指令(Opcode): reply(2)

发送者MAC地址(Sender MAC address):WistronI_8e:f6:9f(98:ee:cb:8e:f6:9f)

发送者IP地址(Sender IP address): 192.168.101.30

目的MAC地址(Target MAC address): HuaweiTe_48:db:28(fc:ab:90:48:db:28)

目的IP地址(Target IP address): 192.168.101.1

 

 

 

 

(三)  ICMP协议

Type:8 占一字节,标识ICMP报文的类型,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第二类是取值128以上的信息报文

Code:0 占亿字节,表示对应ICMP报文的代码。它与类型字段一起共同表示了ICMP报文的详细类型

Checksum:0xc360[correct];是对包括ICMP报文数据部分在内的人整个ICMP数据包的校验和,以检验报文在传输过程中是否出现了差错。其计算方法与IP报头中的校验和计算方法是一样的

Identifier:1 (0x0001) 两字节,用于标识本ICMP进程,但仅适用于回显请求和应答ICMP报文,对于目标不可达ICMP报文和超时ICMP报文等,该字段的值为0

Sequence number:3553 (0x0dcd)

 

wireshark考虑到window系统与Linux系统发出的ping报文(主要指ping应用字段而非包含IP头的ping包)的字节顺序不一样(windows为LE:little-endian byte order,Linux为BE:big-endian),为了体现wireshark的易用性,开发者将其分别显示出来。

 

 

 

 

 

五、数据链路层

 

(一)  MAC帧格式

MAC帧的帧头包括三个字段。前两个字段分别为6字节长的目的地址字段和源地址字段,目的地址字段包含目的MAC地址信息,源地址字段包含源MAC地址信息。第三个字段为2字节的类型字段,里面包含的信息用来标志上一层使用的是什么协议,以便接收端把收到的MAC帧的数据部分上交给上一层的这个协议。如下图所示

 

(二)  MAC地址分析

Ethernet II, Src: WistronI_8e:f6:9f (98:ee:cb:8e:f6:9f), Dst: HuaweiTe_48:db:28(fc:ab:90:48:db:28)

以太网协议版本II,源地址:厂名_序号:(网卡地址),目的地址:厂名_序号(网卡地址)

 Destination: HuaweiTe_48:db:28(fc:ab:90:48:db:28) 目的地址:厂名_序号(网卡地址)

 Source: WistronI_8e:f6:9f (98:ee:cb:8e:f6:9f)  源地址:厂名_序号(网卡地址)

 Type: IP (0x0800) 帧内封装的上层协议类型为IP(十六进制码0800)

 

六、总结

经过这次网络协议抓包分析的作业,我对TCP/IP四层模型又有了更深的理解,对于应用层、传输层、网络层和数据链路层各层数据的获取和格式的印象都更加深刻了,在本次作业中,我遇到了几个难题,第一个是cmd命令行ping不通ip地址,但是能上网,我通过一段时间的研究,终于找到了解决方法,要cd \Windows\System32 在进行ping操作;第二个是不知道数据链路层的MAC帧格式和MAC地址解析应该怎么做,幸好经过一段时间的搜寻,终于在网上找到了参考的文章,顺利完成既定目标。虽然做这个作业做了很久,但是我觉得自己还是没有分析透彻每一个层之间的关系,希望在以后的学习里能够分析的更加细致

posted @ 2019-11-29 11:30  张晋毅  阅读(4044)  评论(0编辑  收藏  举报