flash socket 包分析

先来个简介sniffer的网站<wbr><a href="http://www.qqread.com/z/soft/sniffer/index.html">http://www.qqread.com/z/soft/sniffer/index.html</a></wbr>

用sniffer抓ICMP包来分析:

1.ping 192.168.1.1 -l 0

ping一个ip,指定携带的数据长度为0

抓包分析如图:

点击查看大图
从图上的1处我们可以看到这个数据总大小是:60byte
从2处看到ip数据总长度:28byte
ip数据为什么是28byte?
因为ip头部是20个字节(4处标记的),而icmp头部是8个字节,因为我们的ping是指定数据长度为0的 ,所以icmp里不带额外数据,即:
28=20+8
而我们知道以太网类型帧头部是 6个字节源地址+6个字节目标地址+2个字节类型=14字节
以太网帧头部+ip数据总长度=14+28=42
注意3处标记的,填充了18个字节。
42+18=60
刚好等于总长度,其实这里我们需要注意到这里捕捉到帧不含4个字节的尾部校验,如果加上4字节尾部校验,正好等于64!
64恰好是以太类型帧最小大小。

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

在图中我们还可以看到 这个帧没有分割,flags=0x,因为不需要分割。

再分析一个
ping 192.168.1.1 -l 64

点击查看大图

数据大小106byte
106-14(以太类型帧头部)=92
刚好等于ip部分的显示大小
92-20(ip)-8(icmp头)=64
刚好等于我们指定的64字节ping 包

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

以太网帧实际承载数据部分最大为1500,这里面还包含其他协议的报头,所以实际承载数据肯定小于1500,如果ping 192.168.1.1 -l 1500,那么数据必要会被分割,但计算方法还是一样的,只是需要特别注意,后续帧无需包含第一个帧所包含的icmp报头。
所以第一个帧的大小会是 1500(实际数据部分大小,含ip和icmp报头)+14(以太类型帧头部)=1514,在第一个帧里实际携带了多少数据的是1500-20(IP 报头)-8(icmp报头)=1472,剩余28bytes数据会在后续帧中
后续帧大小:14(以太类型头)+20(ip头)+28(实际数据)=62
注意上面的计算我们都不计算尾部4字节校验的。可以实际抓包验证上面的分析。

=================================================================

抓包分析

本机IP地址:192.168.2.93

FTP服务器:192.168.2.212

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> TCP连接(三次握手)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

TCP第一次握手:192.168.2.93向192.168.2.212发送请求连接(SYN=1)

flash<wbr>socket<wbr>包分析

P第二次握手:192.168.2.212回应192.168.2.93确认连接(ACK=1,SYN=1)

flash<wbr>socket<wbr>包分析

TCP第三次握手:192.168.2.93回应192.168.2.212(ACK=1)

flash<wbr>socket<wbr>包分析

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> TCP断开(四次握手)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

1.第一次握手:192.168.2.212向192.168.2.93发送断开连接请求

flash<wbr>socket<wbr>包分析

2.第二次握手

flash<wbr>socket<wbr>包分析

3.第三次握手

flash<wbr>socket<wbr>包分析

4.第四次握手

flash<wbr>socket<wbr>包分析

TCP头部

1源端口:192.168.2.93的端口

flash<wbr>socket<wbr>包分析

2.目标端口:192.168.2.212的端口

flash<wbr>socket<wbr>包分析

3.序列号

flash<wbr>socket<wbr>包分析

4确认号

flash<wbr>socket<wbr>包分析

5.首部长度

flash<wbr>socket<wbr>包分析

6。控制信息

flash<wbr>socket<wbr>包分析

7窗口大小

flash<wbr>socket<wbr>包分析

8.校验和

flash<wbr>socket<wbr>包分析

9.紧急指针

flash<wbr>socket<wbr>包分析

10.可选项

flash<wbr>socket<wbr>包分析

11.数据

flash<wbr>socket<wbr>包分析

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>IP报头</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

1版本号,首部长度

flash<wbr>socket<wbr>包分析


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值