Tcpdump使用方法-抓取原始流量包
TCPdump工具的使用方法
tcpdump简介
tcpdump是一个用于网络数据包捕获和分析的常用命令行工具。它在各种Unix和Linux操作系统上可用,用于监视和分析网络通信,以便进行故障排除、网络性能分析和安全审计。
tcpdump支持众多的命令行选项和过滤表达式,允许用户以不同方式捕获和分析网络数据包。用户可以根据自己的需求创建适当的命令来监视网络流量,进行故障排除或进行网络安全审计。需要注意的是,使用 `tcpdump` 需要具有足够的权限来访问网络接口。
tcpdump基本用法和一些常用参数
-
捕获某个网口的所有数据包(不设置该参数时默认为正在使用的网口,查看网口使用
ifconfig
命令):tcpdump -i eth0
-
捕获与特定主机相关的数据包,如果要指定不抓取某个主机的数据包,只需要在
host
后面添加一个not
:tcpdump -i eth0 host 192.168.1.100
这将仅捕获与主机IP地址为
192.168.1.100
有关的数据包。tcpdump -i eth0 host not 192.168.1.100
这将仅捕获与主机IP地址
192.168.1.100
不相关的数据包。 -
捕获指定端口的数据包:
tcpdump -i eth0 port 80
这将捕获目标或源端口为80的数据包,通常是HTTP流量。
-
保存捕获数据包到文件:
tcpdump -i eth0 -w capture.pcap
这将捕获的数据包保存到名为
capture.pcap
的文件中,以便以后分析。 -
显示数据包内容以ASCII文本格式:
tcpdump -i eth0 -A
这将以可读的ASCII文本格式显示捕获的数据包内容。
-
指定源IP与目的端口,同样也可以指定源端口与目的IP:
tcpdump -i eth0 'src host 192.168.1.100 and dst port 22'
这将捕获从IP地址
192.168.1.100
发出并目标端口为22的数据包,通常是SSH流量,其中的src(source,从自己出发的)指的是源,dst(destination,发出去的)指的是目的。 -
捕获指定数量的数据包后停止:
tcpdump -i eth0 -c 50
这将捕获50个数据包后停止捕获。
-
仅捕获小于指定大小的数据包,less捕获小于目标值的数据包,greater用于捕获大于目标值的数据包:
tcpdump -i eth0 less 100
这将仅捕获小于100字节大小的数据包。
-
指定协议抓取数据包,如TCP、UDP、ICMP等:
tcpdump -i eth0 tcp
这将仅捕获所有tcp协议的数据包。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了