Wireshark 笔记
 
 
 
 
 
 
 
 
 
 
 
贡献者: addis
图 1:Wireshark 初始界面
图 2:Wireshark 抓包界面
- 参考《小林图解》
- 参考这个教程。
- Ubuntu 安装:
sudo apt install wireshark
- 另外命令行程序
tcpdump
也有类似的功能。
- Wireshark 是一个 packet sniffer and analysis tool,可以抓获 TCP, DNS, SSH, HTTP(S) 等协议的数据包
1. TCP 包
一个 256 byte 的 TCP(Transmission Control Protocol)包的构成(数字是字节数):
- 14 (Ether) + 20 (IP) + 20 (TCP) + 202 (TCP payload)
- Ether 的构成:6 (MAC) * 2 + 2 (type-IPv4)
- IP 的构成:1 (v4 固定是 len=20) + 1 (diff service field) + 2 (IP 包长度 242) + 2 (ID) + 2 (frag offset) + 1 (time to live) + 1 (protocol-TCP) + 2 (header checksum) + 4 (src IP) + 4 (dst IP)
- TCP 的构成:2 (src port) + 2 (dst port) + 4 (seq num) + 4 (ack num) + 2 (Flags/seg len/header len) + 2 (Window) + 2 (chk sum) + 2 (urgent ptr) + 0 (var length options )
- TCP payload 的构成:202
如果是 HTTP,那么 payload 就是 HTTP 协议
未完成:这些在《图解》里面都有啊,真的不用自己数
2. UDP 包
一个 222 byte 的 UDP(User Datagram Protocol) 包的构成:
- 14 (Ether) + 20 (IP) + 8 (UDP) + 180 (UDP payload)
- Ether 和 IP 同上
- UDP 的构成:2 (src port) + 2 (dst port) + 2 (len) + 2 (chk sum)
- UDP payload 的构成:180
 
 
 
 
 
 
 
 
 
 
 
© 小时科技 保留一切权利