【Linux】tcpdump P1 - 网络过滤选项

2024-04-11 08:52

本文主要是介绍【Linux】tcpdump P1 - 网络过滤选项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 选项 -D
  • 选项 -c X
  • 选项 -n
  • 选项 -s
  • 端口捕获 port
  • 选项 -w
  • 总结

tcpdump 实用程序用于捕获和分析网络流量。系统管理员可以使用它来查看实时流量或将输出保存到文件中稍后分析。本文将演示在日常使用 tcpdump时可能想要使用的几种常见选项。

选项 -D

使用-D 选项的 tcpdump 提供了您可以从中捕获流量的设备列表。此选项识别 tcpdump 所知道的设备。一旦您看到这个列表,您就可以决定哪个接口来捕获流量。它还会告诉您接口是否处于 Up(开启)、Running(运行中)状态,以及它是否是 Loopback(回环)接口,如下面的输出所示:

# tcpdump -D
1.tun0 [Up, Running]
2.wlp0s20f3 [Up, Running]
3.lo [Up, Running, Loopback]
4.any (能够捕获所有接口的伪设备) [Up, Running]
5.virbr0 [Up]
6.docker0 [Up]
7.enp0s31f6 [Up]

选项 -c X

-c 选项捕获 X 个数据包然后停止。否则,tcpdump 会持续运行。所以当您只想捕获一小部分数据包样本时,可以使用这个选项。但是,如果接口上没有活动,tcpdump 会持续等待。

# tcpdump -c 5 -i anytcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
14:36:55.761644 IP 10.10.10.11.ssh > 14.22.11.191.17708: Flags [P.], seq 3507388358:3507388546, ack 3395898523, win 501, length 188
14:36:55.761934 IP 10.10.10.11.52604 > 183.60.83.19.domain: 19057+ PTR? 191.11.22.14.in-addr.arpa. (43)
14:36:55.770958 IP 14.22.11.191.17708 > 10.10.10.11.ssh: Flags [.], ack 0, win 239, length 0
14:36:55.789099 IP 14.22.11.191.17708 > 10.10.10.11.ssh: Flags [.], ack 188, win 254, length 0
14:36:55.824211 IP 183.60.83.19.domain > 10.10.10.11.52604: 19057 NXDomain 0/1/0 (131)
5 packets captured
10 packets received by filter
0 packets dropped by kernel

选项 -n

通常,使用 IP 地址而不是名称会更容易处理。您可以使用 -n 来实现这一点。

# tcpdump -c 5 -i any -ntcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
14:38:09.530074 IP 10.10.10.11.ssh > 14.22.11.191.17708: Flags [P.], seq 3507391162:3507391350, ack 3395898711, win 501, length 188
14:38:09.530173 IP 10.10.10.11.ssh > 14.22.11.191.17708: Flags [P.], seq 188:360, ack 1, win 501, length 172
14:38:09.530215 IP 10.10.10.11.ssh > 14.22.11.191.17708: Flags [P.], seq 360:500, ack 1, win 501, length 140
14:38:09.530256 IP 10.10.10.11.ssh > 14.22.11.191.17708: Flags [P.], seq 500:640, ack 1, win 501, length 140
14:38:09.530296 IP 10.10.10.11.ssh > 14.22.11.191.17708: Flags [P.], seq 640:780, ack 1, win 501, length 140
5 packets captured
5 packets received by filter
0 packets dropped by kernel

选项 -s

使用 -s XXXtcpdump 帮助您控制捕获大小。在上面的输出的第二行中,您可以看到它说捕获大小为 262144 字节,这比数据包本身大得多。您可以使用 -s来改变捕获大小。如果您只想检查数据包头,那么您可以为捕获使用较小的大小。以下是一个示例:

# tcpdump -c 5 -i any -n -s 64tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 64 bytes
14:39:36.302446 IP 10.10.10.11.ssh > 14.22.11.191.17707: Flags [P.], seq 2177159718:2177159906, ack 2903028371, win 501, length 188
14:39:36.302554 IP 10.10.10.11.ssh > 14.22.11.191.17707: Flags [P.], seq 188:360, ack 1, win 501, length 172
14:39:36.302600 IP 10.10.10.11.ssh > 14.22.11.191.17707: Flags [P.], seq 360:500, ack 1, win 501, length 140
14:39:36.302681 IP 10.10.10.11.ssh > 14.22.11.191.17707: Flags [P.], seq 500:640, ack 1, win 501, length 140
14:39:36.302754 IP 10.10.10.11.ssh > 14.22.11.191.17707: Flags [P.], seq 640:780, ack 1, win 501, length 140
5 packets captured
5 packets received by filter
0 packets dropped by kernel

端口捕获 port

tcpdump 允许您指定使用端口 X 作为源或目的地的网络数据包。例如,要捕获 DNS 流量,您可以使用端口 53。您可以在端口关键字前加上 src/dst 来进一步过滤,如 src port 53dst port 53

# tcpdump -i any port 53 -n

选项 -w

如果您想要将 tcpdump 的输出写入文件,可以使用 -w选项。要写入 .pcap 文件,可以使用 -w .pcap。如果您想知道写入了多少个数据包,可以添加 -v

# tcpdump -i any port 8080 -w 8080.pcap -v
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
Got 14

总结

如你所见,tcpdump 是一个收集有关网络流量数据的极好工具。数据包捕获为故障排除和安全分析提供了有用的信息。

本系列的第二部分将继续介绍 tcpdump 的另外六个特性和标志,包括如何读取捕获的数据。最后,第三部分将为您提供更多收集信息的选项。

这篇关于【Linux】tcpdump P1 - 网络过滤选项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/893612

相关文章

Linux磁盘分区、格式化和挂载方式

《Linux磁盘分区、格式化和挂载方式》本文详细介绍了Linux系统中磁盘分区、格式化和挂载的基本操作步骤和命令,包括MBR和GPT分区表的区别、fdisk和gdisk命令的使用、常见的文件系统格式以... 目录一、磁盘分区表分类二、fdisk命令创建分区1、交互式的命令2、分区主分区3、创建扩展分区,然后

Linux中chmod权限设置方式

《Linux中chmod权限设置方式》本文介绍了Linux系统中文件和目录权限的设置方法,包括chmod、chown和chgrp命令的使用,以及权限模式和符号模式的详细说明,通过这些命令,用户可以灵活... 目录设置基本权限命令:chmod1、权限介绍2、chmod命令常见用法和示例3、文件权限详解4、ch

Linux内核之内核裁剪详解

《Linux内核之内核裁剪详解》Linux内核裁剪是通过移除不必要的功能和模块,调整配置参数来优化内核,以满足特定需求,裁剪的方法包括使用配置选项、模块化设计和优化配置参数,图形裁剪工具如makeme... 目录简介一、 裁剪的原因二、裁剪的方法三、图形裁剪工具四、操作说明五、make menuconfig

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

Mybatis拦截器如何实现数据权限过滤

《Mybatis拦截器如何实现数据权限过滤》本文介绍了MyBatis拦截器的使用,通过实现Interceptor接口对SQL进行处理,实现数据权限过滤功能,通过在本地线程变量中存储数据权限相关信息,并... 目录背景基础知识MyBATis 拦截器介绍代码实战总结背景现在的项目负责人去年年底离职,导致前期规

Linux下MySQL8.0.26安装教程

《Linux下MySQL8.0.26安装教程》文章详细介绍了如何在Linux系统上安装和配置MySQL,包括下载、解压、安装依赖、启动服务、获取默认密码、设置密码、支持远程登录以及创建表,感兴趣的朋友... 目录1.找到官网下载位置1.访问mysql存档2.下载社区版3.百度网盘中2.linux安装配置1.

Linux使用粘滞位 (t-bit)共享文件的方法教程

《Linux使用粘滞位(t-bit)共享文件的方法教程》在Linux系统中,共享文件是日常管理和协作中的常见任务,而粘滞位(StickyBit或t-bit)是实现共享目录安全性的重要工具之一,本文将... 目录文件共享的常见场景基础概念linux 文件权限粘滞位 (Sticky Bit)设置共享目录并配置粘