https://segmentfault.com/a/1190000018886363
https://segmentfault.com/a/1190000018886731
Tshark
详细参数参见tshark的manpage。
// 列出可监听流量的网络接口列表。tshark使用1,2,...等数字来标识eth0,eth1...
# tshark -D
// 监听接口eth0上的UDP端口为1234的流量
# tshark -f "udp port 1234" -i 1
tshark的强悍之处在于对协议进行完全解码,甚至对分片的TCP包进行重组再行解码,例如
// 监听接口eth0上目标端口为80的http流量,并将http请求头的host和location打印
# tshark -f "dst port 80" -T fields -e http.host -e http.location -i 1
其中 -f 参数指定过滤表达式(即等同tcpdump的 filter_expression)
-T fields 指定屏幕输出信息类型为指定的协议字段(用-e添加指定字段),仅在wireshark的0.99.6以后的版本支持。
-i 1为指定监听的网络接口为1号
// 监听http流量,仅过滤GET请求, 监听10秒钟,打印出HTTP HOST和URL
c:\Program Files\Wireshark\tshark.exe -i 4 -n -