常用的Linux命令之tcpdump
格式
样例
应用拓扑
graph BT B[HostB:anyPort] -..-> |dubbo| A[HostA:12200];
拓扑说明
- HostA是服务端, 开启了12200服务端口
- HostB是客户端, 开启了任意端口与HostA:12200连接
- 在HostA上执行tcpdump 查看 HostA:12200 <-> HostB 的通信
命令实践
⁃ in 链路(即从B —>A:12200)
sudo tcpdump -i eth0 -P in -vv dst port 12200 and src host ${hostB}
⁃ out 链路(即从A:12200—>B)
sudo tcpdump -i eth0 -P out -vv src port 12200 and dst host ${hostB}
⁃ inout (即从A:12200<—>B)
tcpdump -i eth0 host ${hostB} and port 12200
⁃ dump 抓取具体包内容, 导出为文件, 便于wireshark分析 (注意, 这里导出的文件为二进制, 推荐使用.pcap作为后缀名)
sudo tcpdump -i eth0 -P in -vv dst port 12200 and src host ${hostB} -w ~/tcpdump.pcap
⁃ 读取tcpdump文件 (注意, 这里读取的文件也为二进制)
sudo tcpdump -r tcpdump.pcap