协议分析工具
- 网络监听: TcpDump + WireShark
- 代理Proxy
- 推荐工具: 手工测试charles [全平台]、安全测试burpsuite[全平台java]
- 自动化测试: mitmproxy
- 其他代理: fiddler [仅windows]、AnyProxy[全平台]
- 协议客户端工具: curl、postman
tcpdump
- 参数:
- -x 十六进制展示
- -w file保存文件
- 表达式:
- ip tcp协议
- host主机名
- port 80
- src来源
- dst目的
-
and or ()逻辑表达式
image.png
WireShark
image.png
抓取访问百度的数据包
sudo tcpdump host www.baidu.com -w /tmp/tcpdump.log
curl http://www.baidu.com
- 停止tcpdump
-
使用wireshark打开 /tmp/tcpdump.log
image.png
image.png
image.png
image.png
协议分析
-
- 三次握手
-
第一次握手,SYN标记位为1,客户端发起请求
image.png -
第二次握手,返回数据包,ACK=1,SYN=1,服务端返回数据
image.png -
第三次握手,ACK=1,客户端确认收到数据
image.png
-
- 四次挥手
-
第一次挥手,客户端给服务端传送消息,传输已经完成,可以结束,FIN=1,ACK=1
image.png -
第二次挥手,服务器收到消息后进行确认,ACK=1
image.png -
第三次挥手,服务器确认可以结束了,FIN=1,ACK=1
image.png -
第四次挥手,客户端确认连接已结束,ACK=1
image.png
-
总览
image.png
下一节:使用Postman发送请求,包括使用图形化工具构造HTTP请求并发送。