全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

tcpdump常见的高级用法

时间:2023-09-28 15:47

人气:

作者:admin

标签: 网络  数据包 

导读:tcpdump 强大的功能和灵活的策略,主要体现在过滤器(BPF)强大的表达式组合能力。 本节主要分享一些常见的所谓高级用法,希望读者能够举一反三,根据自己实际需求,来灵活使用它...

tcpdump 强大的功能和灵活的策略,主要体现在过滤器(BPF)强大的表达式组合能力。

本节主要分享一些常见的所谓高级用法,希望读者能够举一反三,根据自己实际需求,来灵活使用它。

1. 抓取指定客户端访问 ssh 的数据包

$tcpdump-nieth0src192.168.1.100anddstport22

2. 抓取从某个网段来,到某个网段去的流量

$tcpdump-nieth0srcnet192.168.1.0/16anddstnet10.0.0.0/8or172.16.0.0/16

3. 抓取来自某个主机,发往非 ssh 端口的流量

$tcpdump-nieth0src10.0.2.4andnotdstport22

4. 当构建复杂查询的时候,你可能需要使用引号,单引号告诉 tcpdump 忽略特定的特殊字符,这里的 () 就是特殊符号,如果不用引号的话,就需要使用转义字符

$tcpdump-nieth0

'src10.0.2.4and(dstport3389or22)'

5. 基于包大小进行筛选,如果你正在查看特定的包大小,可以使用这个参数

小于等于 64 字节:

$tcpdump-niless64

大于等于 64 字节:

$tcpdump-nieth0greater64

等于 64 字节:

$tcpdump-nieth0length==64

6. 过滤 TCP 特殊标记的数据包

抓取某主机发送的 RST 数据包:

$tcpdump-nieth0srchost192.168.1.100and

'tcp[tcpflags]&(tcp-rst)!=0'

抓取某主机发送的 SYN 数据包:

$tcpdump-nieth0srchost192.168.1.100and

'tcp[tcpflags]&(tcp-syn)!=0'

抓取某主机发送的 FIN 数据包:

$tcpdump-nieth0srchost192.168.1.100and

'tcp[tcpflags]&(tcp-fin)!=0'

抓取 TCP 连接中的 SYNFIN

$tcpdump

'tcp[tcpflags]&(tcp-syn|tcp-fin)!=0'

7. 抓取所有非 ping 类型的 ICMP

$tcpdump

'icmp[icmptype]!=icmp-echoandicmp[icmptype]!=icmp-echoreply'

8. 抓取端口是 80,网络层协议为 IPv4, 并且含有数据,而不是 SYN、FIN 以及 ACK 等不含数据的数据包

$tcpdump

'tcpport80and(((ip[2:2]-((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2))!=0)'

解释一下这个复杂的表达式,具体含义就是,整个 IP 数据包长度减去 IP 头长度,再减去 TCP 头的长度,结果不为 0,就表示数据包有 data,如果还不是很理解,需要自行补一下 tcp/ip 协议

9. 抓取 HTTP 报文,0x4754GET 前两字符的值,0x4854HTTP 前两个字符的值

$tcpdump-nieth0

'tcp[20:2]=0x4745ortcp[20:2]=0x4854'

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信