0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

tcpdump常见的高级用法

麦辣鸡腿堡 来源:编程修养 作者:程序员肖邦 2023-09-28 15:47 次阅读

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'

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4983

    文章

    18286

    浏览量

    288509
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87445
  • 数据包
    +关注

    关注

    0

    文章

    229

    浏览量

    24095
收藏 人收藏

    评论

    相关推荐

    Arduino串口高级用法,你都掌握了吗?

    本文为Arduino串口的一些高级用法,希望能帮助创客及相关工程师云梯优化设计。
    发表于 07-16 11:05 1.1w次阅读

    C语言中位运算符的高级用法(1)

    在上一篇文章中,我们介绍了&运算符的基础用法,本篇文章,我们将介绍& 运算符的一些高级用法
    发表于 08-22 10:44 180次阅读
    C语言中位运算符的<b class='flag-5'>高级</b><b class='flag-5'>用法</b>(1)

    C语言中位运算符的高级用法(2)

    在上一篇文章中,我们介绍了&运算符的高级用法,本篇文章,我们将介绍| 运算符的一些高级用法
    发表于 08-22 10:45 183次阅读
    C语言中位运算符的<b class='flag-5'>高级</b><b class='flag-5'>用法</b>(2)

    C语言中位运算符的高级用法(3)

    在上一篇文章中,我们介绍了|运算符的高级用法,本篇文章,我们将介绍^ 运算符的一些高级用法
    发表于 08-22 10:47 151次阅读
    C语言中位运算符的<b class='flag-5'>高级</b><b class='flag-5'>用法</b>(3)

    C语言中位运算符的高级用法(4)

    在上一篇文章中,我们介绍了^运算符的高级用法,本篇文章,我们将介绍~ 运算符的一些高级用法
    发表于 08-22 10:48 140次阅读
    C语言中位运算符的<b class='flag-5'>高级</b><b class='flag-5'>用法</b>(4)

    C语言中位运算符的高级用法(5)

    在上一篇文章中,我们介绍了~运算符的高级用法,本篇文章,我们将介绍
    发表于 08-22 10:49 174次阅读
    C语言中位运算符的<b class='flag-5'>高级</b><b class='flag-5'>用法</b>(5)

    C语言中位运算符的高级用法(6)

    在上一篇文章中,我们介绍了~运算符的高级用法,本篇文章,我们将介绍
    发表于 08-22 10:51 167次阅读
    C语言中位运算符的<b class='flag-5'>高级</b><b class='flag-5'>用法</b>(6)

    tcpdump命令介绍

    1.命令简介tcpdump 是一款类 Unix/Linux 环境下的抓包工具,允许用户截获和显示发送或收到的网络数据包。tcpdump 是一个在 BSD 许可证下发布的自由软件。 2.命令格式
    发表于 04-08 06:02

    状态位在软件设计中的常见用法是什么?

    外设常具备的几类寄存器?控制外设的常见操作?状态位在软件设计中的常见用法是什么?外设函数有哪些类型?
    发表于 11-18 07:32

    STM32延时函数的高级用法是什么

    STM32延时函数的高级用法是什么
    发表于 12-01 06:32

    ActiveMQ高级用法

    ActiveMQ 高级用法一、嵌入式MQ在实际开发中,如果项目没能给太多资源,而现在业务中又需要用到MQ,可以考虑嵌入式MQ,嵌入式MQ不需要安装ActiveMQ,只需要导入相关依赖就可以1、pom文件需导入依赖:(在前两篇关于MQ的依赖的基础上导入这个依赖)org...
    发表于 12-17 07:49

    tcpdump的安装以及通过实例来演示如何使用 tcpdump 命令

    在本文中,我们将会通过一些实例来演示如何使用 tcpdump 命令,但首先让我们来看看在各种 Linux 操作系统中是如何安装 tcpdump 的。
    的头像 发表于 01-11 08:49 5765次阅读
    <b class='flag-5'>tcpdump</b>的安装以及通过实例来演示如何使用 <b class='flag-5'>tcpdump</b> 命令

    #define的高级用法简介

    #define的高级用法
    的头像 发表于 02-05 11:50 3402次阅读

    网络行抓包分析工具tcpdump安装介绍

    概述 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包
    的头像 发表于 08-18 10:05 8173次阅读
    网络行抓包分析工具<b class='flag-5'>tcpdump</b>安装介绍

    Linux网络分析tcpdump的基本用法

    我们先通过几个简单的示例来介绍 tcpdump 基本用法。 1. 不加任何参数,默认情况下将抓取第一个非 lo 网卡上所有的数据包 $ tcpdump  2.  抓取 eth0 网卡上的所有
    的头像 发表于 09-28 15:42 307次阅读