文章目录
0、抓包与抓包软件
抓包指对网络上传输的数据包进行截获、重发、编辑、转存等,常用于网络安全和软件测试。
抓包软件可以分为两类:
- 设置代理抓取http包,如Charles、mitmproxy、F12,只能抓到http包
- 直接抓取经过网卡的所有协议包:wireshark、TCPdump,可以抓取所有协议的包
wireshark
wireshark是强大的抓包软件,可以抓到所有协议的包,但无法直接分析https包(可以解密来分析)
1、wireshark使用技巧
1.1基本使用方法
启动软件,选择抓包网卡,设置过滤器,进行抓包。
1.2、过滤器
wireshark的过滤器有捕获过滤器和显示过滤器两种。
-
捕获过滤器
捕获过滤器:在抓包之前就设定好过滤条件,然后只抓取符合条件的数据包。
-
显示过滤器
显示过滤器:在已捕获的数据包集合中设置过滤条件,隐藏不想显示的数据包,只显示符合条件的数据包。
1.3、过滤规则
捕获过滤器和显示过滤器的规则不同:
-
捕获过滤器规则:
-
显示过滤器规则
1.4、混杂模式
混杂模式下会捕获所有经过网卡的包,即不验证MAC地址,会接收到局域网内所有的发包。在后面的协议分析里,为避免干扰所以关闭了混杂模式。
2、wireshark软件界面与封包信息介绍
2.1、软件界面
2.2、封包详细信息
-
Frame:物理层的数据帧概况。
-
Ethernet II: 数据链路层以太网帧头部信息。
-
Internet Protocol Version 4: 网络层ip包头部信息。
-
Transmission Control Protocol:传输层数据段头部信息
(下一节用wireshark分析TCP的三次握手和四次挥手)
3、wireshark抓包与协议分析
3.1、ARP地址解析协议
可通过nmap命令扫描端口以获得arp包。
包格式如下:
抓包分析:
- 请求request:
Opcode为1(request),目标mac未知。
- 响应reply:
Opcode=2(reply)
3.2、ICMP控制消息协议
可以用ping命令获得ICMP包。
ICMP格式:
抓包分析:
- Echo Request:
type=8,校验和checksum status正常。
- Echo Reply:
type=0
3.3、TCP的三次握手和四次挥手
参考:https://zhuanlan.zhihu.com/p/53338327
https://www.cnblogs.com/bylijian/p/8565601.html
TCP三次握手的抓包
几个标识:
ACK:确认号有效标识,ACK=1时确认号才有效
SYN:同步序列标识,表示这是一个连接请求或接收连接请求
FIN:发送端完成发送标识