#查询网卡
tcpdump -D
# 监听 21100 端口 网卡ens192 (不知道网卡,可以直接不输入 -i 网卡)TCP数据,等待一段时间,执行Ctrl+C,终止程序
tcpdump -x -s 0 -w /tmp/123.dump -i ens192 -p tcp port 21100
#数据包转换为可读信息
tcpdump -x -tttt -r /tmp/123.dump > /tmp/abc.log
#根据文件,通过工具提取有效信息
tcpdump是一个命令行下的网络抓包工具,它允许用户拦截和显示发送到或来自连接到该计算机的TCP/IP和其他数据包。以下是tcpdump的一些常用参数及其说明:
-i:指定网络接口。例如,要监听eth0接口上的流量,可以使用tcpdump -i eth0。如果不指定这个参数,tcpdump将默认使用系统上的第一个网络接口1。
-n:关闭DNS反解析。在数据包分析过程中,将会显示IP地址而不是主机名1。
-c:指定要抓取的数据包数量。例如,要抓取前10个包,可以使用tcpdump -c 101。
-q:将输出信息显示在一行中,而不是多行。这有助于减少输出的数量和复杂度1。
-A:以ASCII格式打印数据包的内容。这对于跟踪邮件、HTTP请求和其他应用程序非常有用1。
-X:以十六进制格式打印数据包的内容。这对于跟踪二进制协议非常有用1。
-s:指定要捕获的数据包的大小。例如,要限制捕获包的大小为100字节,可以使用tcpdump -s 1001。
-w:将输出数据包保存到文件中,而不是输出到控制台。例如,要在文件中保存捕获的流量,可以使用tcpdump -w packets.pcap1。
-e:在输出行中打印出数据链路层的头部信息,包括源mac和目的mac,以及网络层的协议23。
-t:显示时间戳,tttt显示更详细的时间2。
-v:输出一个稍微详细的信息,例如在IP包中可以包括TTL和服务类型的信息。使用-vv或-vvv可以显示更详细的信息23。
-F:从指定的文件中读取抓包的表达式2。
-r:从文件中读取数据包(这些包一般通过-w选项产生)23。
此外,tcpdump还支持使用逻辑运算符(如and、or、not)和条件(如host、port、net等)来构建复杂的过滤表达式,以便精确地捕获所需的数据包2。
请注意,tcpdump是一个功能强大的工具,但在高流量场景下使用它可能会影响系统性能。在生产环境中使用时,请务必谨慎2。另外,如果可能的话,最好结合其他工具(如Wireshark)对捕获的数据包进行进一步的分析和可视化2。