tcpdump命令
Tcpdump 是一款基于命令行的网络抓包工具,可以在 Unix/Linux 系统下使用。以下是 tcpdump 的基本用法:
示例1、tcpdump -i any dst port 14526 and host 192.168.14.112 -Al
这条命令是使用 Tcpdump 工具来捕获网络数据包的命令。具体含义如下:
`-i any` 表示捕获所有网络接口的数据包。
`dst port 14526` 表示捕获目标端口为 14526 的数据包。
`and` 是逻辑运算符,表示同时满足前后两个条件。
`host 192.168.14.112` 表示捕获目标主机 IP 地址为 192.168.14.112 的数据包。
`-A` 表示以 ASCII 码形式显示数据包内容。
`-l` 表示立即刷新输出缓冲区,避免数据包被缓存起来后一次性输出。
综合起来,这条命令的作用是捕获 192.168.14.112 主机上目标端口为 14526 的数据包,并以 ASCII 码形式实时显示数据包内容。
捕获所有网络接口的数据包:sudo tcpdump -i any
捕获指定网络接口的数据包:sudo tcpdump -i eth0
捕获指定协议的数据包:sudo tcpdump icmp
捕获指定协议和端口号的数据包:sudo tcpdump tcp port 80
捕获指定源 IP 地址的数据包:sudo tcpdump src host 192.168.1.1
捕获指定目标 IP 地址的数据包:sudo tcpdump dst host 192.168.1.1
捕获指定源端口号的数据包:sudo tcpdump src port 80
捕获指定目标端口号的数据包:sudo tcpdump dst port 80
捕获指定源 IP 地址和端口号的数据包:sudo tcpdump src host 192.168.1.1 and src port 80
捕获指定目标 IP 地址和端口号的数据包:sudo tcpdump dst host 192.168.1.1 and dst port 80
以上是 tcpdump 的基本用法,更多的参数可以使用 man tcpdump 命令查看。需要注意的是,tcpdump 需要使用 root 权限才能进行网络抓包。
tshark 命令
Tshark 是 Wireshark 的命令行版本,用于抓取和分析网络数据包。下面是 Tshark 的基本使用方法:
1. 抓包:使用 `-i` 参数指定要抓取数据包的网络接口,如 `-i eth0`。
2. 过滤数据包:使用 `-f` 参数加上过滤条件过滤数据包,如 `-f "host 192.168.0.1 and tcp port 80"`。
3. 保存数据包:使用 `-w` 参数加上保存路径和文件名保存数据包,如 `-w /root/capture.pcap`。
4. 显示数据包:使用 `-r` 参数加上数据包文件名显示数据包,如 `-r /root/capture.pcap`。
5. 输出数据包信息:使用 `-T` 参数加上输出格式输出数据包信息,如 `-T fields -e frame.number -e ip.src -e ip.dst`。
6. 其他参数:还有很多其他参数可供使用,如 `-n` 表示不解析主机名、`-c` 表示只抓取指定数量的数据包等。
例如:
1、以下命令可实时抓取 eth0 网卡上所有源或目标 IP 地址为 192.168.0.1 的 TCP 数据包并以 ASCII 码形式显示数据包内容:
tshark -i eth0 -f "host 192.168.0.1 and tcp" -T fields -e frame.number -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport -e tcp.len -e data -E separator=,
以上命令会在控制台实时输出数据包的编号、源 IP 地址、目标 IP 地址、源端口、目标端口、TCP 数据长度和数据内容等信息,用逗号隔开。
2、采集指定网口流量包,并10秒或者20M为一个包生成到test1.pcap文件中
/cytech/soft/wireshark/bin/tshark -i enp61s0f0 -F pcap -b duration:10 -b filesize:20480 -w test1.pcap
结果如下:
tshark和tcpdump的区别
Tshark和Tcpdump都是网络抓包工具,用于捕获和分析网络数据包。它们的主要区别如下:
1. 支持的协议:Tshark支持更多的协议,包括IPv6,SSH,SSL等,而Tcpdump只支持IPv4。
2. 使用方式:Tshark和Tcpdump的命令行参数有所不同。Tshark更为灵活,可以使用Wireshark的过滤器语言,可以更精确地指定需要捕获的数据包。
3. 输出格式:Tshark可以输出多种格式的数据,如文本、CSV、XML等,而Tcpdump只能输出文本。
4. 功能:Tshark功能更为强大,支持流重组、协议分析、持续捕获等功能,而Tcpdump则只能进行基本的数据包捕获和显示。
总的来说,Tshark和Tcpdump都是非常优秀的网络抓包工具,但在使用时需要根据自己的需求选择合适的工
具。如果需要精确指定过滤条件和更多的输出格式,可以选择使用Tshark;如果需要快速捕获和显示数据包,
可以选择使用Tcpdump。