tcpdump 是一个强大的命令行数据包分析工具,可以用来捕获和分析网络流量。下面是如何使用 tcpdump 抓包并分析流量的基本步骤:
抓包
1、启动抓包:
使用以下命令开始抓包。例如,要捕获所有进出指定主机(如 172.18.130.224)的流量,并将结果保存到文件中:
sudo tcpdump host 172.18.130.224 -w capture_file.pcap
这里的 -w 参数告诉 tcpdump 将捕获的数据包写入到文件 capture_file.pcap 中。
停止抓包:
当你认为已经收集了足够的数据时,可以通过按下 Ctrl+C 来停止抓包。
通过最后加入&后台运行
sudo tcpdump host 172.18.130.224 -w capture_file.pcap &
2、分析流量
读取捕获文件:
要分析之前捕获的数据包,你可以使用 -r 参数来读取 .pcap 文件。例如:
tcpdump -r capture_file.pcap
这将显示捕获的所有数据包。如果你想要更详细的信息,可以添加 -v, -vv, 或 -vvv 参数增加输出的详细程度。
过滤流量:
tcpdump 支持基于各种条件(如 IP 地址、端口、协议等)的过滤器。例如,只查看 HTTP 流量:
tcpdump tcp port 80 -r capture_file.pcap
你也可以组合多个条件进行过滤,比如只查看来自特定 IP 的 HTTP 请求:
tcpdump src host 172.18.130.224 and tcp port 80 -r capture_file.pcap
3、高级分析:
对于更深入的分析,可以考虑将 .pcap 文件导入图形界面的分析工具,如 Wireshark。Wireshark 提供了一个用户友好的界面以及更强大的分析功能,包括解码各种协议、搜索特定模式的数据包、统计分析等等。
如下图:导入文件。文件-打开capture_file.pcap文件,分析对应的流量

注意事项
1、确保在执行 tcpdump 命令时有足够的权限(通常需要 root 权限),因为监听网络接口通常需要超级用户的权限。2、根据你的需求调整捕获过滤器,以减少不必要的数据捕获,这有助于提高分析效率并节省存储空间。
3、TNS(Transparent Network Substrate,透明网络底层)实际上是甲骨文公司(Oracle Corporation)用于其数据库产品中的一种专有网络协议。它被设计用来为客户端应用程序与Oracle数据库服务器之间的通信提供一个统一的接口。
4、ICMP(Internet Control Message Protocol,互联网控制消息协议)是TCP/IP协议族中的一员,主要用于在IP网络中发送控制消息,报告错误情况并提供异常和控制机制。其中,最常用的是ping命令。
5、TCP(Transmission Control Protocol,传输控制协议)是互联网协议套件中的一个核心协议,主要用于在不可靠的网络上提供可靠的、面向连接的数据传输服务。它位于应用层和网络层之间,在OSI模型中属于传输层的一部分。TCP确保数据能够准确无误地从一个端点传送到另一个端点,并提供了流量控制、错误检测和纠正等功能。
6、UDP(User Datagram Protocol,用户数据报协议)是互联网协议套件中的一部分,主要用于在通信系统之间提供一种无连接的、不可靠的数据传输服务。与TCP不同,UDP不保证数据包能够到达目的地,也不保证它们会按照发送顺序到达。然而,由于其简单性和较低的开销,UDP适用于那些对实时性要求较高而对少量丢包不太敏感的应用。
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号