提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
– 文章主要介绍了wireshark抓包步骤和TCP包的简单介绍,可以作为快速了解抓包,了解TCP数据格式的参考。
一、准备工作
软件:
网络调试助手
wireshark
二、操作步骤
1.硬件连接
1.1硬件连接方式
- 网线直连
- 连接同一个路由器
1.2确认硬件连接成功
打开命令行,通过ipconfig发现自己的ip地址。
两个ip地址分别是:10.30.25.207和10.30.25.37
结合子网掩码确认属于同一个网络。分别ping对方的ip地址
有回复为成功:
显示超时为失败。确认在一个网络下还是失败,关闭防火墙。
1.3 网络助手建立连接
ip地址为 10.30.25.37的电脑作为tcp server,配置如下:
ip地址为 10.30.25.207的电脑作为tcp server,配置如下:
发送数据,另一台电脑能成功接收
1.4 配置wireshark
选择连接方式
发送一条数据,并通过ip地址筛选
ip.addr == 10.30.25.37 and tcp
这里筛选出两条数据,一条是数据包,一条是确认包
1.5 解析数据包
实际数据:
发送一个字符“1”,实际传输了55字节的数据。
数据包:TCP协议封包:
TCP报文格式详解:
TCP全部包头:1f 91 e3 04 94 20 55 b7 a6 22 88 7e 50 18 02 01 1a 8c 00 00 …
源端口:1f 91 (8081)
目的端口:e3 04 (58116)
序号:94 20 55 b7 (2485147063)
确认号:a6 22 88 7e (2787281022)
头部长度+保留+标志位:50 18 (0101 0000 0001 1000)
头部长度(4bit):0101(代表5*4=20字节,TCP头部是4字节对齐,所以头部长度是4字节的倍数,5代表5个4字节)
保留(6bit):0000 00
URG(紧急指针是否有效):0
ACK(确认号是否有效):1
PSH(提示接收端应用程序立刻从缓冲区读走):1
RST(要求对方重新建立连接,携带RST的标识的报文称为复位报文段):0
SYN(请求建立连接,携带SYN标识的报文称为同步报文段):0
FIN(结束标识,告诉对端本端关闭):0
窗口:02 01 (513)还可以接收513
校验和:1a 8c
紧急指针:00 00
IP数据报格式详解:
IP全部包头:45 00 00 29 f9 e7 40 00 40 06 f9 b7 0a 1e 19 25 0a 1e 19 cf …
版本号(4bit):4
头部长度(4bit):5(5*4=20字节)
服务类型:00:包括优先权,
总长度:00 29 (41字节,IP头长度+TCP头长度+数据包长度)
标志:f9 e7
标志(3bit)+片便宜(13bit):40 00
生存时间:40(64,一般经过一个路由减一)
上层协议标志:06 (TCP)
头部校验和:f9 b7
源IP地址:0a 1e 19 25
目标IP地址:0a 1e 19 cf
以太网包头格式:
以太网全部包头:dc 1b a1 f4 c8 47 d0 53 49 8d 32 be 08 00
目的MAC地址:dc 1b a1 f4 c8 47
源MAC地址:d0 53 49 8d 32 be
类型:08 00(IPv4)