Linux环境下的抓包工具的安装与使用

[复制链接]
查看899 | 回复6 | 2023-9-8 10:22:36 | 显示全部楼层 |阅读模式
一、计算机网络概述
在计算机领域中,计算机网络是核心的一部分。它通过将多个计算机设备连接起来,使得这些设备可以互相通信和共享资源。计算机网络不仅包括硬件设备(如服务器、工作站、打印机等),还包括软件系统和协议。这些软件系统和协议使得不同的设备能够相互理解和通信。
二、Linux环境下的端口简介
在计算机网络中,端口是一种标识符,用于指示某个特定的服务或应用程序正在监听网络上的某个特定连接。在Linux环境中,主要有两种类型的端口:TCP端口和UDP端口。
2.1 TCP端口
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的协议,用于在互联网或局域网内的设备之间传送数据。TCP端口是TCP协议使用的端口,用于标识发送和接收数据的实体。
2.2 UDP端口
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的协议,用于在互联网或局域网内的设备之间传送数据。UDP端口是UDP协议使用的端口,用于标识发送和接收数据的实体。
三、网络抓包和分析工具
在进行网络抓包后,接下来需要进行数据的分析。这一步骤是网络故障排查或数据调查的关键环节,需要对捕获的数据包进行仔细的审查。以下是一些常用的数据包分析工具:
  • tcpdump:这是最基本的包分析工具,它允许你根据各种条件过滤并打印数据包,例如可以根据源IP地址、目的IP地址、协议类型等条件进行过滤。
  • wireshark:这是一款非常强大的图形化网络分析工具,可以用于分析网络协议、流量趋势、设备性能等问题。它支持许多协议,并具有详细的分析和过滤功能。
  • ssldump:这是一款专门用于捕获和分析SSL/TLS流量的工具,它可以用于分析加密数据包的详细信息。

3.1 tcpdump
3.1.1 安装

在大多数Linux发行版中,tcpdump已经预装了。如果没有预装,可以使用以下命令进行安装:
  1. sudo apt-get install tcpdump   #Debian/Ubuntu等使用apt的系统  
  2. sudo yum install tcpdump       #CentOS/RHEL等使用yum的系统
复制代码
3.1.2 使用方法
tcpdump允许你捕获和分析网络数据包。基本的使用格式为:
  1. sudo tcpdump -i <interface> -s <snaplen> -w <output file>   
复制代码
  • <interface>:要监听的网络接口,如eth0、wlan0等。
  • <snaplen>:要捕获的数据包的最大长度(以字节为单位)。如果你不指定snaplen,tcpdump将捕获每个接口的 MTU(最大传输单元)。
  • <output file>:捕获的数据包的输出文件。
例如,下面的命令将在eth0接口上捕获数据包,并将其保存到output.pcap文件中:
  1. sudo tcpdump -i eth0 -w output.pcap
复制代码
3.1.3 分析方法
tcpdump捕获的数据包可以使用各种工具进行分析,其中最常用的是Wireshark。安装Wireshark的命令如下:
  1. sudo apt-get install wireshark   #Debian/Ubuntu等使用apt的系统  
  2. sudo yum install wireshark       #CentOS/RHEL等使用yum的系统
复制代码
分析捕获的数据包,可以按照以下步骤进行:
  • 打开Wireshark软件。
  • 选择菜单栏上的Capture -> Option,勾选要抓包的网络接口(例如eth0、wlan0等)。
  • 点击Start按钮,Wireshark将开始抓包。

在抓包过程中,Wireshark会将捕获到的数据包显示在主界面上。通过分析这些数据包,可以了解网络中发生的事件和通信情况。

  •     使用Wireshark打开捕获的文件(如output.pcap)。
  •     在主界面中,你可以看到所有捕获的数据包。每个数据包都有许多字段,如源IP地址、目的IP地址、协议类型等。
  •     可以根据需要过滤数据包。例如,你可以只查看TCP数据包或UDP数据包。
  •     在分析过程中,可以使用各种工具来帮助你理解数据包的详细信息。例如,你可以查看TCP流控制图,以了解TCP流的行为。

他的功能还有如下几点:
  • 熟悉数据链路层:通过抓包并查看Ethernet帧结构,可以熟悉数据链路层的功能和通信方式。
  • 了解子网内/外通信时的MAC地址:可以ping同一子网内的计算机或本子网外的计算机,并使用Wireshark抓取这些数据包。通过对比不同情况下的MAC地址,可以了解子网内和子网外的通信方式。
  • 掌握ARP解析过程:通过抓取ARP请求和回应数据包,可以了解ARP解析的过程和作用。
  • 使用过滤器筛选数据包:Wireshark提供了多种过滤器,可以按照协议、端口、主机名、数据包内容等进行筛选,以便只查看感兴趣的数据包。

Wireshark是一款功能强大的网络分析工具,可以帮助网络管理员进行故障排查、网络性能分析、安全审计等任务。通过学习和使用Wireshark,可以更好地理解和掌握网络通信和协议分析方面的知识。

3.2 ssldump
3.2.1 安装

ssldump是另一款强大的网络抓包工具,它是sslstrip的后续版本。要安装ssldump,可以使用以下命令:
  1. sudo apt-get install ssldump    #Debian/Ubuntu等使用apt的系统  
  2. sudo yum install ssldump        #CentOS/RHEL等使用yum的系统
复制代码
3.2.2 使用方法
ssldump的使用方法与tcpdump类似,但它是专门用来捕获SSL/TLS流量:
  1. sudo ssldump -i <interface> -w <output file> -S <SSL/TLS port> -s <snaplen> -X <timeout> -A <password> -b <buffer size> -z <private key file> -r <CA bundle file> -G <group> -p <priority> -t <threads> -f <filter> -n <network interface> -g <gateway IP> -y <interface type> -v <verbose output> -Y <Ciphersu>
复制代码
下面是每个参数的简要介绍:
  • -i <interface>:指定要监听的网络接口,例如eth0、wlan0等。
  • -w <output file>:指定捕获的数据包保存的文件名和路径。
  • -S <SSL/TLS port>:指定SSL/TLS协议使用的端口号,例如443、8443等。
  • -s <snaplen>:指定要捕获的数据包的最大长度(以字节为单位)。
  • -X <timeout>:指定抓包的超时时间(以秒为单位)。
  • -A <password>:如果需要解密私钥文件,则需要提供密码。
  • -b <buffer size>:指定用于存储数据包的缓冲区的大小。
  • -z <private key file>:指定用于解密数据包的私钥文件路径。
  • -r <CA bundle file>:指定CA证书的路径和文件名。
  • -G <group>:指定用于加密的密码套件或密钥交换协议组。
  • -p <priority>:指定用于加密的优先级。
  • -t <threads>:指定用于处理数据包的多线程数量。
  • -f <filter>:指定过滤数据包的BPF表达式或正则表达式。
  • -n <network interface>:指定要绑定的网络接口名称。
  • -g <gateway IP>:指定网关的IP地址。
  • -y <interface type>:指定网络接口的类型,例如loopback、tunnel等。
  • -v <verbose output>:指定详细输出级别。
  • -Y <Ciphersu>:指定加密算法或密码套件的字符串。
以下是一个简单的例子:
假设你要监听网络接口eth0上所有经过的SSL/TLS流量,并将捕获的数据包保存到一个名为"output.pcap"的文件中。你可以使用以下命令:
  1. sudo ssldump -i eth0 -w output.pcap -S 443
复制代码
上述命令中:
  • "-i eth0"指定了要监听的网络接口为eth0;
  • "-w output.pcap"指定了捕获的数据包保存的文件名为output.pcap;
  • "-S 443"指定了要捕获的SSL/TLS协议使用的端口号为443。
在执行该命令后,ssldump会开始监听eth0接口上的所有443端口流量,并将捕获的数据包保存到output.pcap文件中。你可以使用Wireshark等工具打开output.pcap文件,并分析捕获到的数据包。
注意,使用ssldump需要具有管理员权限,因此需要在命令前加上sudo。此外,为了正确地捕获SSL/TLS流量,可能需要安装证书文件(CA bundle file)和其他相关文件。这些文件通常可以从相应的官方网站下载。


四、数据分析
在进行包分析时,需要注意以下几点:
  • 确定抓包的网络接口:首先要明确选择要进行抓包的网络接口(例如eth0、wlan0等)。
  • 确定抓包的过滤条件:根据实际需求设置过滤条件,例如IP地址、端口号、协议类型等。
  • 确定抓包的时长和数据保存方式:根据需要确定抓包的时长,以及如何保存抓取到的数据包(例如保存到文件等)。
  • 分析和解读数据包:对抓取到的数据包进行分析,例如查看传输层协议、应用层协议、数据包长度、时间戳等,根据这些信息判断网络中出现的问题或潜在的攻击。
  • 及时响应和解决问题:根据分析结果,及时响应并处理出现的问题,例如修复网络连接、调整防火墙策略等。

回复

使用道具 举报

CHENQIGUANG1998 | 2023-9-8 10:23:40 | 显示全部楼层
沙发
回复

使用道具 举报

ai_mcu | 2023-9-8 10:24:21 | 显示全部楼层
佩服
明天总会更好
回复

使用道具 举报

爱笑 | 2023-9-8 10:25:43 | 显示全部楼层
地板!
用心做好保姆工作
回复

使用道具 举报

WYG | 2023-9-8 10:54:35 | 显示全部楼层
板凳
回复

使用道具 举报

jkernet | 2023-9-8 12:10:38 来自手机 | 显示全部楼层
学习了
回复

使用道具 举报

LV36 | 2023-9-9 08:08:07 | 显示全部楼层
mark 有空来学
回复 支持 反对

使用道具 举报

iiv | 2023-9-14 18:47:09 | 显示全部楼层
插眼
回复

使用道具 举报

ckdsx.cn | 2023-9-14 18:51:10 | 显示全部楼层
学习,打卡!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则