tcpdump显示包内容_tcpdump 使用小结

写在之前 


tcpdump 可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。(百度百科)

常用选项


-i 指定监听的网络接口

-n  不要解析域名

-nn 不要解析域名和端口

-c  抓取多少个报文

-w  抓取的数据包保存为文件

-v -vv -vvv 显示更多的详细信息

-s  抓取的报文字节数,默认只会截取96字节的内容,要想截取全部内容,可以配置为0

过滤规则


主机:host、src host、dst host

网段:net、src net、dst net

端口:port、src port、dst port

协议:ip、arp、icmp、tcp、udp、ip6

表达式:and or not,也可以是&& || ! 来表示

TCP Flags:tcp[tcpflags]

常用案例


# 抓取所有经过eth1的、目的或源IP为172.16的网段的数据包

tcpdump -i eth1 net 172.16.0.0

# 抓取所有经过eth1的、目的或源IP为172.16.2.101的网络数据包

tcpdump -i eth1 host 172.16.2.101

# 抓取所有经过eth1的、源IP为172.16.2.101的网络数据包

tcpdump -i eth1 src host 172.16.2.101

# 抓取所有经过eth1的、目的IP为172.16.2.101的网络数据包

tcpdump -i eth1 dst host 172.16.2.101

# 抓取所有经过eth1的、目的IP为www.baidu.com的网络数据包

tcpdump -i eth1 -nn dst host www.baidu.com

# 抓取所有经过eth1的、目的或源端口为80的网络数据包

tcpdump -i eth1 port 80

tcpdump -i eth1 src port 80

tcpdump -i eth1 dst port 80

# 抓取所有经过eth1的、协议相关的操作

tcpdump -i eth1 ip

tcpdump -i eth1 icmp

tcpdump -i eth1 tcp

tcpdump -i eth1 udp

# 抓取特定状态的包

状态位方式一方式二方式三
U – URGtcp[13] & 32 != 0tcp[tcpflags] & tcp-urg != 0tcp[tcpflags] & tcp-urg == tcp-urg
A – ACKtcp[13] & 16 != 0tcp[tcpflags] & tcp-ack != 0tcp[tcpflags] & tcp-ack == tcp-ack
P – PSHtcp[13] & 8  != 0tcp[tcpflags] & tcp-push != 0tcp[tcpflags] & tcp-push == tcp-push
R – RSTtcp[13] & 4  != 0tcp[tcpflags] & tcp-rst != 0tcp[tcpflags] & tcp-rst == tcp-rst
S – SYNtcp[13] & 2  != 0tcp[tcpflags] & tcp-syn != 0tcp[tcpflags] & tcp-syn == tcp-syn
F – FINcp[13] & 0  != 0tcp[tcpflags] & tcp-fin != 0tcp[tcpflags] & tcp-fin == tcp-fin

# 抓取 tcp 端口为80的tcp-syn的状态包
tcpdump -i eth1 tcp and port 80 and 'tcp[tcpflags] == tcp-syn'

总结


tcpdump 的使用相对简单,可以结合表达式(and or not)写出非常复杂的过滤条件,这里只是简单总结工作中常用的实例,一般情况下,还会结合wireshark一起使用,后面会写如何使用wireshark,及常见错误的一些分析总结。

c6223b64056b06cdf862cad9b1bc6c7f.gif

您的关注是我写作的动力


c5ac15e1fa84df52ef342cb51f2647dc.png

往期分享


通俗易懂理解Kubernetes核心组件及原理

kubernetes v1.17.x 二进制安装文档 

iptables 理论基础及日志记录

LVS 基础性实验及抓包分析

kube-proxy 如何实现流量转发

看了这篇!再不会 Nginx rewrite 算我输!

nginx location 知识知多少

你真的了解客户端请求如何到达服务器端的吗

专辑分享


kubeadm使用外部etcd部署kubernetes v1.17.3 高可用集群

第一篇  使用 Prometheus 监控 Kubernetes 集群理论篇

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值