tcpdump调试

在Ubuntu上查看eth网卡报文进行调试,最简单的方法是使用 tcpdump。以下是具体步骤:

1. 安装 tcpdump

bash 复制代码
sudo apt update
sudo apt install tcpdump

2. 基本使用命令

查看所有网络接口

bash 复制代码
tcpdump -D

捕获eth0接口的所有流量

bash 复制代码
sudo tcpdump -i eth0

捕获特定数量的数据包

bash 复制代码
sudo tcpdump -i eth0 -c 10  # 只捕获10个包

详细输出

bash 复制代码
sudo tcpdump -i eth0 -v      # 详细信息
sudo tcpdump -i eth0 -vv     # 更详细信息
sudo tcpdump -i eth0 -vvv    # 最详细信息

3. 常用过滤选项

按IP地址过滤

bash 复制代码
sudo tcpdump -i eth0 host 192.168.1.100        # 特定主机
sudo tcpdump -i eth0 src 192.168.1.100         # 源地址
sudo tcpdump -i eth0 dst 192.168.1.100         # 目的地址

按端口过滤

bash 复制代码
sudo tcpdump -i eth0 port 80                   # HTTP流量
sudo tcpdump -i eth0 port 443                  # HTTPS流量
sudo tcpdump -i eth0 port 22                   # SSH流量

按协议过滤

bash 复制代码
sudo tcpdump -i eth0 icmp                      # 只显示ICMP(ping)包
sudo tcpdump -i eth0 arp                       # 只显示ARP包
sudo tcpdump -i eth0 tcp                       # 只显示TCP包

4. 保存和读取捕获文件

保存到文件

bash 复制代码
sudo tcpdump -i eth0 -w capture.pcap

读取保存的文件

bash 复制代码
tcpdump -r capture.pcap

5. 实时监控特定流量示例

bash 复制代码
# 监控HTTP流量并显示ASCII内容
sudo tcpdump -i eth0 -A port 80

# 监控特定子网的流量
sudo tcpdump -i eth0 net 192.168.1.0/24

# 组合条件:监控来自特定IP的HTTP流量
sudo tcpdump -i eth0 src 192.168.1.100 and port 80

6. 替代方案:使用 wireshark/tshark

如果想用图形界面或更强大的分析工具:

bash 复制代码
# 安装wireshark
sudo apt install wireshark

# 命令行版本的wireshark
sudo apt install tshark

# 使用tshark
sudo tshark -i eth0

提示:

  • 使用 Ctrl+C 停止捕获
  • 如果没有 eth0,可以用 ip link show 查看实际的接口名
  • 对于无线网络,接口名通常是 wlan0

这就是最简单实用的网络报文调试方法!

相关推荐
qq_310658511 小时前
webrtc代码走读(六)-QOS-FEC冗余度配置
网络·c++·webrtc
飞飞是甜咖啡1 小时前
网络渗流:爆炸渗流
网络
tft36402 小时前
An attempt was made to access a socket in a way forbidden by its access
服务器·网络·tcp/ip
tan180°2 小时前
Linux网络HTTP(下)(9)
linux·网络·http
程序员小远2 小时前
使用Jmeter进行http接口测试
自动化测试·软件测试·python·测试工具·jmeter·http·接口测试
baynk3 小时前
传输层协议分析
网络·协议分析
せいしゅん青春之我5 小时前
[JavaEE初阶] 传输层协议---UDP 相关笔记
网络·网络协议·java-ee
泷羽Sec-静安5 小时前
Less-1 GET-Error based-Single quotes-String GET-基于错误-单引号-字符串
前端·css·网络·sql·安全·web安全·less
tuokuac6 小时前
虚拟机挂起,重启后主机连接不上虚拟机docker中的mysql?(docker网络状态假死)
网络·mysql·docker
qq_479875437 小时前
Connector
网络