tcpdump 抓包工具的使用

tcpdump 的使用方法

因为我常用来抓TCP的http包,所以我肯定是不会记录全部的使用方式的,仅记录自己常用的命令。

安装

# centos 安装命令
yum install -y tcpdump
# Ubuntu & debian 安装命令
apt-get install -y tcpdump

参数

option describe example
-i xxx 指定对哪张网卡进行抓包,抓全部网卡的包用 -i any tcpdump -i enth0 仅抓enth0网卡的包
dst xx.xx.xx.xx 抓目的IP是xx.xx.xx.xx的包
src xx.xx.xx.xx 抓源IP是xx.xx.xx.xx的包
dst port xxx 抓目的端口是xxx的包 tcpdump port 8080 仅抓8080端口的包
dst portrange xxx-yyy 抓目的端口范围是是xxx到yyy的包
src port xxx 抓源端口是xxx的包
src portrange xxx-yyy 抓源端口范围是xxx到yyy的包
src net xx.xx.xx.xx/y 抓源地址处于某个网段的包,y代表子网掩码位数
dst net xx.xx.xx.xx/y 抓目的地址处于某个网段的包,y代表子网掩码位数(这种命令工作中我一般用不上)
-w xxx.pcap 将抓包内容写入文件 tcpdump -w aaa.pcap
src xx.xx.xx.xx 抓目的IP是xx.xx.xx.xx的包
dst xx.xx.xx.xx 抓源IP是xx.xx.xx.xx的包
-nn 不进行域名解析,只显示数字形式的 IP 地址和端口号
-X 以十六进制(hex)和ASCII码的形式显示每个数据包的内容(对于分析http包很有用)
-t 不输出抓包时间
-tt 将抓包时间以时间戳形势显示
-ttt 不显示抓包时间,显示本次抓包与上次抓包的时间间隔(毫秒级)
-tttt 以yyyy-MM-dd HH:mm:ss:ms 格式显示抓包时间(最直观,推荐使用)
-c x 抓取到x个包后,tcpdump自动停止抓包
and 条件连接符——与
or 条件连接符——或

格式【我抓包的格式】

tcpdump -i 网卡名 网络协议 抓包条件组合 -nnX -tttt

# 抓全部网卡的源IP是192.166.78.33,源端口是8088的包1000个,并将抓包内容写入get.pcap文件
tcpdump -i any tcp src port 8088 and src 192.168.78.33 -tttt -c 1000-w get.pcap

# 抓网卡enth0处理的源IP是192.166.78.33或192.166.78.32的包共1000个,并将抓包内容写入get.pcap文件
tcpdump -i enth0 tcp src 192.166.78.33 or src 192.166.67.32 -tttt -w get.pcap

# 抓本机发给192.166.78.33的包,并将抓包内容写入get.pcap文件
tcpdump -i any tcp dst 192.168.78.33 -tttt -w get.pcap

# 抓网卡enth0处理的192.168.78.0/24网段内所有发进来的包,并将抓包内容写入get.pcap文件
tcpdump -i any tcp dst net 192.168.78.0/24 -tttt -w get.pcap

⚠️ 提醒

如果使用过wireshark这款软件的开发者,可以把Linux上抓包的文件取到本地,用它打开读取,十分方便

posted @   勤匠  阅读(45)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示