网络抓包分析

网络抓包分析以对百度等进行数据抓包分析。

由图可以看出目的ip是119.75.217.26

数据链路层分析

可以看出目的mac地址(48:3c:0c:f1:3a:e7)和主机的mac地址(50:2b:73:c0:c9:bf)

TCP报文格式及TCP连接三次握手

三次握手过程

以上是找到的三次握手

第一次握手数据包,A向B发送请求报文段,首部同步位中SYN=1,并seq=x,表明传送数据时的第一个数据字节的序号是x

第二次握手的数据包,B的TCP收到连接请求报文段后,如同意,则发回确认,ACK=1,确认号ack=x+1。同时B向A发起连接请求,应使SYN=1。自己选择序号为seq=y

第三次握手的数据包,A收到后给B确认,ACK=1,确认号为ack=y+1

这个过程就完成了三次握手

附上一张TCP报文格式的图

这是图中的tcp格式

  1. 源端口号(52386)和目的端口号(443):用于标示和区分源端设备和目的端设备的应用进程
  2. 序列号(Sequence Number):用来标识TCP源端设备向目的端设备发送的字节流,图中是1
  3. 确认号(Acknowledgement number):发送确认的一端所期望接收到的下一个序列号,因此确认序列号应当是上次成功接收到数据的顺序号加1。只有ACK标志为1时确认序号字段才有效。图中是1
  4. 首部长度(Header length):指出TCP首部共有多少个4字节,长度在20-60之间,图中是20
  5. 标识字段:Urgent为0,所以不是优先报文;Acknowledgement为1,确认字段有效;复位RST:表明TCP链接中出现严重差错;同步SYN:表示这是一个连接请求或连接接受报文;终止FIN:用来释放一个连接
  6. 校验和(Checksum):占2字节。校验和字段检验的范围包括首部和数据,用于校验TCP报头部分和数据部分的正确性
  7. [SEQ/ACK analysis]:回应客户机的请求连接申请,时延RTT为0.000055s

IP

附上一张ip的格式图

这是图中IP的报文

版本号:标明了IP协议的版本号,目前为4

头部长度:IP报头的长度。固定部分的长度(20字节)和可变部分的长度之和。共占4位。最大为1111,即10进制的15,代表IP报头的最大长度可以为15个32bits(4字节),也就是最长可为15*4=60字节,除去固定部分的长度20字节,可变部分的长度最大为40字节。IP包头中32bit的数量

服务类型:占8位,用来获得更好的服务,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。

总长度:整个数据包的长度,最长可达65535字节

标识:IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题

DF = 1:不允许分片,MF = 0:后面没有分片

生存时间:设置了数据包可以经过的最多路由器数

协议:1为ICMP,2为IGMP,6为TCP,17为UDP

头部校验和:根据IP首部计算的检验码

源IP地址和目的IP地址

ICMP

附上一张ICMP格式

这是一张icmp的报文

类型字符:8 代码字段:0 是回显请求

校验和(Checksum)字段:长度是2字节,用于数据报传输过程中的差错控制

标识字段(唯一)

确认号

数据字段:长度32bit

UDP

附上一张udp格式图

这是一张我用QQ登录时,抓的udp报文

源端口(4028):   用来传输数据包的端口

目标端口:  数据包将要被传输到的端口

长度:数据长度47

校验和

数据:数据包的数据

总结:利用wireshark工具,对互联网进行抓包分析,使我对iso网络模型有了深刻的理解。课堂上只是老师讲解和看书,对知识的理解模棱两可,就算是记住了都很快忘记,只有实践过才可真正的理解。wireshark是一个非常强大的抓包工具,懂得利用其中的过滤器等其他功能就可以基本找出想要的结果。本次实验是用抓取ping和浏览器产生的数据包。因为是初次使用wireshark,以上文章可能会有差错,希望大家能够指正!

猜你喜欢

转载自www.cnblogs.com/czy-blog/p/9977063.html