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

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

相关推荐
郝学胜-神的一滴8 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
绵绵细雨中的乡音9 小时前
深入理解 ET 与 LT 模式及其在 Reactor 模型中的应用
服务器·网络·php
暖馒10 小时前
Modbus应用层协议的深度剖析
网络·网络协议·c#·wpf·智能硬件
可可南木11 小时前
3070文件格式--15--bootptab文件
功能测试·测试工具·pcb工艺
yunfuuwqi11 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔11 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠11 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
枷锁—sha12 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Zach_yuan13 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
迎仔14 小时前
B-算力中心网络隔离的必要性:为什么必须隔离?
网络