TCP泵 是一个日常使用的包嗅探器。有很多包嗅探器,但tcpdump的通用性和易用性不同。Tcpdump使用libcap库,这是用于数据包嗅探的核心库。这里我们将看一看包嗅探的一般用法示例。请注意,要使用tcpdump,tcpdump应该有足够的特权和安全机制,如SELinux、AppArmor应该给予许可。捕获的数据通常写入具有pcap扩展名的文件中。Pcap文件可以通过流行的基于GUI的网络工具Wireshark读取和解析。
Tcpdump命令人
更详细的信息可以从tcpdump手册页获得,如下所示。
$ man tcpdump

列出与Tcpdump的网络接口
在标准的Linux系统上,有很多接口。我的意思是不仅仅是网络接口,USB接口也存在。Tcpdump可以从USB接口和其他特殊的内核设备上监听USB协议。Tcpdump编号作为可选接口 用法。首先选择接口列表tcpdump可以嗅探和捕获的接口。
$ tcpdump -D

正如我们从截图上看到的,tcpdump可以嗅探这个Ubuntu系统上的10个接口。Tcpdump还提供了一些有关接口状态的信息,如up/down和连接类型。有一个特殊的接口类型,编号为2,名为 任何 可以从这些接口嗅探到所有接口的通信量
为数据包捕获选择网络接口
使用列出的 接口 可以使用接口名称或索引。这里有一个名为any的特殊接口,它捕获所有接口。
$ tcpdump -i 2
或者
$ tcpdump -i ens3
使用Tcpdump捕获指定端口
默认情况下,全部 网络流量 是用 tcpdump
. 这可能会产生巨大的产出。如果我们只想捕获特定的端口,我们可以使用 port
选项。在本例中,我们将只使用 port http
.
$ sudo tcpdump -i 2 "port http"

使用Tcpdump捕获数据包的详细输出
捕获数据包时,只显示IP报头信息。要获取有关数据包的更多详细信息,应指定verbose选项。
$ tcpdump -i 2 port http -v

增加冗长
要查看比当前详细信息更多的详细信息,可以使用 -变压阀 通过添加新的 v 选择下面的选项。
$ tcpdump -i 2 port http -vvv

减少冗长
它可以减少默认的详细程度,以获得更优雅的包嗅探选项输出 -问 .
$ tcpdump -i 2 port http -q

显示器 以ASCII或文本格式捕获的数据包
在捕获数据包时,我们可能希望将它们显示为 ASCII码 或文本。例如,在HTTP通信中,我们可以将HTTP头直接输出到控制台。
$ tcpdump -i 2 "port http" -A

以十六进制格式显示捕获的数据包
另一种显示捕获文件的方法是十六进制格式。
$ tcpdump -i 2 "port http" -X

显示端口,以数字格式承载信息
默认情况下,端口号和ip号显示为文本,例如端口80将显示为http或ip地址将显示为主机名(如果可以解析)。这些信息可以用数字表示,如下所示。
$ tcpdump -i 2 port http -q -n

设置要捕获的数据包计数
在某些情况下,我们希望限制捕获的数据包计数,例如,为了识别通常需要启动TCP会话的网络流量。指定捕获数据包的计数这里我们将其设置为5。
$ tcpdump -i 2 "port http" -c 5

设置要捕获的数据包大小
限制捕获的另一个类似选项是为每个数据包设置总捕获大小。每个包可以有不同的大小这些选项将为每个捕获的包设置标准大小。为捕获的数据包设置大小,我们在这里设置100字节这在将捕获重定向到文件时非常有用。
$ tcpdump -i 2 "port http" -C 100

仅捕获TCP数据包
通常,所有网络层协议都从以太网协议保存到应用程序协议。但是只有一个特定的层可以通过指定一个协议来捕获,比如下面的TCP。
$ tcpdump -i 2 tcp
仅捕获Udp数据包
像Tcp包一样,只有Udp包可以被捕获,如下所示。
$ tcpdump -i 2 udp
仅捕获Icmp数据包
此命令将仅捕获和嗅探ICMP数据包。
$ tcpdump -i 2 icmp
仅捕获Arp数据包
Tcpdump只能捕获Arp数据包,如下所示。
$ tcpdump -i 2 arp
仅捕获IP数据包
如前面的示例所示,我们可以捕获特定的协议。在本例中,我们将只捕获IP数据包。
$ tcpdump -i 2 ip
仅捕获指定的目标IP流量
在使用tcpdump时,另一个有用的网络流量过滤器是根据目标IP地址进行过滤。可以使用指定目标IP地址 夏令时 就像下面一样。
$ tcpdump -i 2 dst google.com

仅捕获指定的网络流量
我们以前根据主机名过滤捕获的数据包。我们也可以使用 网络过滤器 根据指定的网络进行过滤。
$ tcpdump -i 2 net 172.217.17.0/24

仅捕获指定的端口范围
为过滤指定多个端口不是一个实际的解决方案。Tcpdump提供了使用 港口范围 选项。
$ tcpdump -i 2 portrange 70-90

将捕获的数据包保存到Pcap文件
捕获的数据包信息被打印到控制台(默认情况下是命令行)。如果要按照命令将保存到文件,请将捕获的文件保存到名为 德涅姆.pcap . 实际上有很多支持的捕获文件格式,但是 pcap公司 这是常见的用法。文件
$ tcpdump -i 2 "port http" -w deneme.pcap

正在读取Pcap捕获文件
保存捕获文件后,tcpdump可以通过以下命令读取该文件并向终端显示输出。
$ tcpdump -i 2 -r deneme.pcap


相关文章: Windows截图工具截取桌面截图