linux网络抓包工具
- 一、tcpdump
-
- [1.1 基本用法](#1.1 基本用法)
- [1.2 龙芯平台实例操作](#1.2 龙芯平台实例操作)
- 二、wireshark
-
- [2.1 主要功能](#2.1 主要功能)
- [2.2 龙芯平台实例操作](#2.2 龙芯平台实例操作)
一、tcpdump
tcpdump 指令可列出经过指定网络界面的数据包文件头,可以将网络中传送的数据包的 "头" 完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供 and、or、not 等逻辑语句来帮助你摘取有用信息。由于它需要将网络接口设置为混杂模式,普通用户不能正常执行,但具备 root 权限的用户可以直接执行它来获取网络上的信息。
1.1 基本用法
- 捕获所有流量
sudo tcpdump
- 捕获特定接口的流量
sudo tcpdump -i eth0
- 将捕获的数据保存到文件
sudo tcpdump -w 123.pcap
- 从文件中读取捕获的数据
sudo tcpdump -r 123.pcap
- 按主机过滤
sudo tcpdump host 192.168.1.1
- 按网络过滤
sudo tcpdump net 192.168.1.0/24
- 按端口过滤
sudo tcpdump port 80
- 按协议过滤
sudo tcpdump tcp
sudo tcpdump udp
- 组合过滤条件
sudo tcpdump 'tcp and port 80 and host 192.168.1.1'
- 显示时间戳
sudo tcpdump -tttt
- 捕获 10 个数据包后停止
sudo tcpdump -c 10
1.2 龙芯平台实例操作
tcpdump -i enp0s3f0 host www.baidu.com
① 报文的时间
② 网络协议IP
③ 发送方的IP地址、端口号、域名
④ 数据流向
⑤ 接收方的IP地址、端口号、域名
⑥ 数据包内容
抓取报文并保存:tcpdump -i enp0s3f0 -nn host www.baidu.com -w /tmp/123.txt
保存的123.txt文件可以用wireshark进行分析。
二、wireshark
wireshark具有图形化和命令行两种版本,可以对 tcpdump 抓的包进行分析,其主要功能就是分析数据包。
官方网站:https://www.wireshark.org
2.1 主要功能
- 实时数据捕获:Wireshark能够捕获实时流量并对其进行分析。
- 数据包解码:支持数百种网络协议,能够解码并显示各种协议的详细信息。
- 过滤功能:可以根据特定条件筛选数据包。这包括捕获过滤器和显示过滤器,前者在数据包捕获之前应用,后者在数据包捕获之后应用。
- 数据包重组:能够重组和分析分片的数据包,以查看完整的通信内容。
- 统计和图表:提供多种统计和图表功能,帮助用户进行流量分析和趋势预测。
2.2 龙芯平台实例操作
安装软件: apt install wireshark
- 运行软件:
wireshark
- 捕获网卡enp0s3f0信息
- tcpdump和wireshark 合用