tcpdump抓包工具
本文最后更新于23 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
Linux/UNIX 下命令行抓包分析工具,libpcap(抓包库)+ BPF(Berkeley Packet Filter) 内核过滤

一、tcpdump安装

# Ubuntu / Debian
sudo apt update
sudo apt install -y tcpdump

# CentOS / RHEL / Rocky
sudo yum install -y tcpdump

# macOS(Homebrew)
brew install tcpdump

# 检查是否安装成功
tcpdump --version

格式:

tcpdump [options] [filter expression]

2.1 常用选项

参数作用示例
-i any监听所有网卡(最常用)tcpdump -i any
-i eth0指定网卡(eth0/ens33/lo)tcpdump -i eth0
-n不解析主机名 / 端口号(IP / 数字显示,更快)-n
-nn不解析主机名 and 不解析端口名(最干净)-nn
-c NN 个包后自动停止-c 100
-w file.pcap保存到 pcap 文件(给 Wireshark 分析)-w test.pcap
-r file.pcap读取 pcap 文件(离线分析)-r test.pcap
-e显示二层头(MAC地址)-e
-X显示十六进制 + ASCII内容(看 payload)-X
-A只显示 ASCII(文本协议如 HTTP)-A
-v/-vv/-vvv详细级别(越 v 越详细)-vv
-s 0抓完整包(默认只抓前 96 字节)-s 0

三.输出格式解读

四、过滤表达式

4.1按照ip过滤

tcpdump host 192.168.1.100            # 源或目的是这个IP
tcpdump src host 192.168.1.100        # 源IP
tcpdump dst host 192.168.1.100        # 目的IP

tcpdump net 192.168.1.0/24            # 整个网段
tcpdump src net 10.0.0.0/8

4.2按照端口过滤

tcpdump port 80                        # 80端口(源或目的)
tcpdump src port 1234                  #源端口是1234
tcpdump dst port 443
tcpdump port 80 or port 443            #80和443端口

tcpdump portrange 8000-8080            # 端口范围
tcpdump not port 22                    # 排除 SSH

4.3按照协议过滤

tcpdump tcp                 # 只抓 TCP
tcpdump udp                 # 只抓 UDP
tcpdump icmp                # 只抓 ICMP(ping)
tcpdump arp                 # 只抓 ARP
tcpdump ip6                 # 只抓 IPv6
tcpdump not tcp             # 排除 TCP

http,dns,https,ssh,等应用层协议不能直接过滤
需要写成 tcpdump port http

4.4组合过滤

# 源IP 192.168.1.10 且 目的端口 80 的 TCP
tcpdump tcp and src host 192.168.1.10 and dst port 80

# 抓取 192.168.1.0/24 访问 8.8.8.8 的流量
tcpdump net 192.168.1.0/24 and host 8.8.8.8

# 抓取非22端口的TCP流量
tcpdump tcp and not port 22

# 抓取 ICMP 或 ARP
tcpdump icmp or arp
and所有条件都需满足
or 只要有一个满足就行
not 取反

五、常用命令

5.1基础抓包

# 监听所有网卡,简洁输出
sudo tcpdump -i any -nn

# 抓100个包就停
sudo tcpdump -i any -nn -c 100

# 抓完整包并显示十六进制
sudo tcpdump -i any -nn -s 0 -X

# 抓包保存到文件(Wireshark可直接打开)
sudo tcpdump -i any -nn -s 0 -w mytrace.pcap

# 后台抓包(nohup + &)
sudo nohup tcpdump -i any -nn -s 0 -w /tmp/trace.pcap &

# 读取分析
tcpdump -r mytrace.pcap -nn -X

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇