Linux 的命令太多,tcpdump 是一个非常强大的抓包命令。有时候想看线上发生的一些问题:
nginx 有没有客户端连接过来…… 客户端连接过来的时候 Post 上来的数据对不对…… 我的 Redis 实例到底是哪些业务在使用……
tcpdump 作为网络分析神器就派上用场了!它本身的命令和参数有点多,我也简单记录下一些常用的操作。网上的资料其实挺多, 但真的派上用场的,可能也就是我下面列出来的这几个 :v
抓取 eth0 网卡的 80 端口:
tcpdump -nnA 'port 80' -i eth0
-A:以ASCII格式打印出所有分组,并将链路层的头最小化 -nn:显示IP地址和端口号
抓取发往 10.48.31.56 的数据包:
tcpdump -i eth0 dst host 10.48.31.56
指定网络过滤:
tcpdump -i eth0 src net 10.48
指定协议过滤:
tcpdump -i eth0 tcp
表达式过滤:
tcpdump -i eth0 '((tcp) and (port 80) and ((dst host 10.48.31.56) or (dst host 10.48.31.58)))'
关注公众号↑↑↑:IT运维大本营,获取60个G的《网工大礼包》