数据包传输的详细过程

1、ip地址和tcp端口在传输数据中的作用
在这里插入图片描述

  1. ip address:告诉了数据包将要被传输到哪儿去。
  2. tcp port:告诉数据报 将传输到哪个应用程序。

二、怎么抓包

(1)设置“捕获过滤”:在 Capture Filter 中填写IP.Addr==192.168.14.115

(2)开始抓包;

(3)在 DOS 下执行 PING 命令;ping www.baidu.com

(4)停止抓包。

(5)设置“显示过滤”: IP.Addr==192.168.14.115

使用tracert 192.168.14.124 来对经过的路由器进行追踪。
在这里插入图片描述

  • 1、tcp包分为包头的内容,tcp的包头长度是32字节,整个数据包的包头是66字节(不一定的),如果整个数据包是66字节的话,那内容长度就是0
  • 2、每个tcp包都带有win、ack,这些是告诉对方,我还可以接收数据的滑动窗口是多少,如果A发到B的包的win为0,就是A告诉B说我现在滑动窗口为0了,饱了,你不要再发给我了,就说明A端环境有压力(如带宽满了等)
  • 3、ack可以理解为应答。A发给B的ack是告诉B,我已收到你发的数据包,收到ack号这里了,你下次要发seq为ack号的给我
  • 4、在网络不堵即滑动窗口一点都不堵的情况下,第一个包的ack号就是第二个包的seq号,如果堵了,由于是滑动窗口缓存处理队列,所以这个值会错开
  • 5、如果A发到B连续几个包,seq号不变,ack号一直在变大,说明A一直在收B的数据,A一直在给B应答,有时间的错位,并不是发一个包就马上会回应一个ack
  • 6、如果A发到B连续几个包,seq号一直变大,ack号一直没变,说明A一直在向B发数据,不用给B应答,而是在等B的应答
  • 7、可以接收多个数据包后,一次性给一个应答,不用每个数据包一一对应给应答
  • 8、发了一个包,很久没有收到应答后,会重发包,在Wireshark抓包工具提示“[TCP
    Retransmission]”,在数据包详情窗口点开可以看到是对哪个数据包的重传
    在这里插入图片描述

版权声明:本文为qq_42015513原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。