tcpdump常用参数说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | tcpdump常用参数说明 (一)、学习tcpdump的 5 个参数 初次使用tcpdump时,使用tcpdump - h命令可以看到它有数十个参数。 根据我们在运维工作中的经验,掌握tcpdump以下 5 个参数即可满足大部分的工作需要了。 ❶ - i参数。使用 - i参数指定需要抓包的网卡。如果未指定的话,tcpdump会根据搜索到的系统中状态为UP的最小数字的网卡确定,一般情况下是eth0。使用 - i参数通过指定需要抓包的网卡,可以有效的减少抓取到的数据包的数量,增加抓包的针对性,便于后续的分析工作。 ❷ - nnn参数。使用 - nnn参数禁用tcpdump展示时把IP、端口等转换为域名、端口对应的知名服务名称。这样看起来更加清晰。 ❸ - s参数。使用 - s参数,指定抓包的包大小。使用 - s 0 指定数据包大小为 262144 字节,可以使得抓到的数据包不被截断,完整反映数据包的内容。 ❹ - c参数。使用 - c参数,指定抓包的数量。 ❺ - w参数。使用 - w参数指定抓包文件保存到文件,以便后续使用Wireshark等工具进行分析。 (二)、学习tcpdump的过滤器 tcpdump提供了丰富的过滤器,以支持抓包时的精细化控制,达到减少无效信息干扰的效果。我们常用的过滤器规则有下面几个: ❶host a.b.c.d:指定仅抓取本机和某主机a.b.c.d的数据通信。 ❷tcp port x:指定仅抓取TCP协议目的端口或者源端口为x的数据通信。 ❸icmp:指定仅抓取ICMP协议的数据通信。 ❹!:反向匹配,例如port ! 22 ,抓取非 22 端口的数据通信。 以上几种过滤器规则,可以使用 and 或者 or 进行组合,例如: host a.b.c.d and tcp port x:则只抓取本机和某主机a.b.c.d之间基于TCP的目的端口或者源端口为x的数据通信。 tcp port x or icmp:则抓取TCP协议目的端口或者源端口为x的数据通信或者ICMP协议的数据通信。 (三)、实例: 下面的例子全是以抓取eth0接口为例,如果不加” - i eth0”是表示抓取所有的接口包括lo。 1 、抓取包含 10.10 . 10.122 的数据包 # tcpdump -i eth0 -vnn host 10.10.10.122 2 、抓取包含 10.10 . 10.0 / 24 网段的数据包 # tcpdump -i eth0 -vnn net 10.10.10.0/24 3 、抓取包含端口 22 的数据包 # tcpdump -i eth0 -vnn port 22 4 、抓取udp协议的数据包 # tcpdump -i eth0 -vnn udp 5 、抓取icmp协议的数据包 # tcpdump -i eth0 -vnn icmp 6 、抓取arp协议的数据包 # tcpdump -i eth0 -vnn arp 7 、抓取ip协议的数据包 # tcpdump -i eth0 -vnn ip 8 、抓取源ip是 10.10 . 10.122 数据包。 # tcpdump -i eth0 -vnn src host 10.10.10.122 9 、抓取目的ip是 10.10 . 10.122 数据包 # tcpdump -i eth0 -vnn dst host 10.10.10.122 10 、抓取源端口是 22 的数据包 # tcpdump -i eth0 -vnn src port 22 11 、抓取源ip是 10.10 . 10.253 且目的ip是 22 的数据包 # tcpdump -i eth0 -vnn src host 10.10.10.253 and dst port 22 12 、抓取源ip是 10.10 . 10.122 或者包含端口是 22 的数据包 # tcpdump -i eth0 -vnn src host 10.10.10.122 or port 22 13 、抓取源ip是 10.10 . 10.122 且端口不是 22 的数据包 [root@ ftp] # tcpdump -i eth0 -vnn src host 10.10.10.122 and not port 22 14 、抓取源ip是 10.10 . 10.2 且目的端口是 22 ,或源ip是 10.10 . 10.65 且目的端口是 80 的数据包。 # tcpdump -i eth0 -vnn \( src host 10.10.10.2 and dst port 22 \) or \( src host 10.10.10.65 and dst port 80 \) 15 、抓取源ip是 10.10 . 10.59 且目的端口是 22 ,或源ip是 10.10 . 10.68 且目的端口是 80 的数据包。 [root@localhost ~] # tcpdump -i eth0 -vnn 'src host 10.10.10.59 and dst port 22' or ' src host 10.10.10.68 and dst port 80 ' 16 、把抓取的数据包记录存到 / tmp / fill文件中,当抓取 100 个数据包后就退出程序。 # tcpdump –i eth0 -vnn -w /tmp/fil1 -c 100 17 、从 / tmp / fill记录中读取tcp协议的数据包 # tcpdump –i eth0 -vnn -r /tmp/fil1 tcp 18 、从 / tmp / fill记录中读取包含 10.10 . 10.58 的数据包 # tcpdump –i eth0 -vnn -r /tmp/fil1 host 10.10.10.58 tcpdump抓包分析详解 Linux tcpdump命令详解 |
时来天地皆同力,运去英雄不自由
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)