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

news/2024/4/30 8:18:45/文章来源:https://blog.csdn.net/aichaoxy/article/details/137596985

文章目录

  • 选项 -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 的另外六个特性和标志,包括如何读取捕获的数据。最后,第三部分将为您提供更多收集信息的选项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1045871.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么快速围绕“人、货、场”做零售数据分析?

做零售数据分析多了,不难发现零售数据分析的关键就是“人、货、场”,那么怎么又快又灵活地分析这三个关键点?不妨参考下奥威BI零售数据分析方案。 奥威BI零售数据分析方案是一套吸取大量项目经验,结合零售企业数据分析共性需求打…

MyBatis 等类似的 XML 映射文件中,当传入的参数为空字符串时,<if> 标签可能会导致 SQL 语句中的条件判断出现意外结果。

问题 传入的参数为空字符串,但还是根据参数查询了。 原因 在 XML 中使用 标签进行条件判断时,需要明确理解其行为。在 MyBatis 等类似的 XML 映射文件中, 标签通常用于动态拼接 SQL 语句的条件部分。当传入的参数 riskLevel 为空字符串时…

acwing总结-线性质数筛

质数筛 题目链接:质数筛线性筛法 ac代码&#xff1a; #include<iostream> #include<algorithm> //https://www.bilibili.com/video/BV1LR4y1Z7pm/?spm_id_from333.337.search-card.all.click&vd_source436ccbb3a8f50110aa75654f38e35672 //链接到b站视频 us…

如何在 YouTube、Medium、Twitter 和 Linkedin 上使用 ChatGPT 赚钱

人工智能SEO&#xff1a;未来内容优化的革命 介绍 在当今的数字时代&#xff0c;利用 ChatGPT 等人工智能工具已经成为在线内容创建和货币化领域的游戏规则改变者。 本指南探讨了如何在 YouTube、Medium、Twitter 和 Linkedin 等各种平台上有效使用 ChatGPT&#xff0c;不仅可以…

el-table动态合并列

需要合并列&#xff0c;并且不确定需要合并多少列的&#xff0c;可以参照如下代码 首先需要再el-table上传入span-method方法 arraySpan({ row, column, rowIndex, columnIndex }){if (row.groupName 汇总 && columnIndex 0) {return [0,0]} else if (row.groupName…

机器学习-08-关联规则和协同过滤

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中关联规则和协同过滤。 参考 机器学习&#xff08;三&#xff09;&#xff1a;Apriori算法&#xff08;算法精讲&#xff09; Apriori 算法 理论 重点 MovieLens:一个常用的电影推荐系统领域的数据集 2…

01、ArcGIS For JavaScript 4.29对3DTiles数据的支持

综述 Cesium从1.99版本开始支持I3S服务的加载&#xff0c;到目前位置&#xff0c;已经支持I3S的倾斜模型、3D Object模型以及属性查询的支持。Cesium1.115又对I3S标准的Building数据实现了加载支持。而ArcGIS之前一直没有跨越对3DTiles数据的支持&#xff0c;所以在一些开发过…

数字社交的新典范:解析Facebook的成功密码

在当今数字化时代&#xff0c;社交媒体已经成为人们日常生活的重要组成部分&#xff0c;而Facebook作为最知名的社交媒体平台之一&#xff0c;其成功之处备受瞩目。本文将深入解析Facebook的成功密码&#xff0c;探讨其在数字社交领域的新典范。 1. 用户体验的优化 Facebook注…

Docker容器嵌入式开发:在Ubuntu上配置Postman和flatpak

在 Ubuntu 上配置 Postman 可以通过 Snap 命令完成&#xff0c;以下是所有命令的总结&#xff1a; sudo snap install postmansudo snap install flatpak在 Ubuntu 上配置 Postman 和 Flatpak 非常简单。以下是一些简单的步骤&#xff1a; 配置 Flatpak 安装 Flatpak&#x…

【力扣】104. 二叉树的最大深度、111. 二叉树的最小深度

104. 二叉树的最大深度 题目描述 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3 示例 2&#xff1a; 输…

【linux】yum 和 vim

yum 和 vim 1. Linux 软件包管理器 yum1.1 什么是软件包1.2 查看软件包1.3 如何安装软件1.4 如何卸载软件1.5 关于 rzsz 2. Linux编辑器-vim使用2.1 vim的基本概念2.2 vim的基本操作2.3 vim命令模式命令集2.4 vim底行模式命令集2.5 vim操作总结补充&#xff1a;vim下批量化注释…

IOS虚拟键盘弹出后,弹窗的按钮点击不起作用,不会触发click事件

背景 讨论区项目的回复框&#xff0c;使用的是Popup和TextArea做&#xff0c;布局如下图&#xff0c;希望键盘弹出时候&#xff0c;回复框可以紧贴键盘&#xff0c;这点实现起来比较简单&#xff0c;监听resize事件&#xff0c;动态修改popup的这题内容的top值即可&#xff0c…

二叉数应用——最优二叉树(Huffman树)、贪心算法—— Huffman编码

1、外部带权外部路径长度、Huffman树 从图中可以看出&#xff0c;深度越浅的叶子结点权重越大&#xff0c;深度越深的叶子结点权重越小的话&#xff0c;得出的带权外部路径长度越小。 Huffman树就是使得外部带权路径最小的二叉树 2、如何构造Huffman树 &#xff08;1&#xf…

SpringBoot中的Redis的简单使用

在Spring Boot项目中使用Redis作为缓存、会话存储或分布式锁等组件&#xff0c;可以简化开发流程并充分利用Redis的高性能特性。以下是使用Spring Boot整合Redis的详细步骤&#xff1a; 1. 环境准备 确保开发环境中已安装&#xff1a; Java&#xff1a;用于编写和运行Spring…

HTML5学习记录

简介 超文本标记语言&#xff08;HyperText Markup Language&#xff0c;简称HTML&#xff09;&#xff0c;是一种用于创建网页的标准标记语言。 编辑器 下载传送门https://code.visualstudio.com/ 下载编辑器插件 标题 标题通过 <h1> - <h6> 标签进行定义。 …

xss.pwnfunction-Ok,Boomer

调用0k会直接调用tostring方法获得href里的内容而setTimeout第一个参数恰巧可以接收字符串 但是href必须是协议&#xff1a;主机名 这里tel是dompurify框架的白名单 <a idok hreftel:alert(1337)>

xss跨站脚本攻击笔记

1 XSS跨站脚本攻击 1.1 xss跨站脚本攻击介绍 跨站脚本攻击英文全称为(Cross site Script)缩写为CSS&#xff0c;但是为了和层叠样式表(CascadingStyle Sheet)CSS区分开来&#xff0c;所以在安全领域跨站脚本攻击叫做XSS 1.2 xss跨战脚本攻击分类 第一种类型:反射型XSS 反射…

Node.js cnpm的安装

百度搜索 cnpm,进入npmmirror 镜像站https://npmmirror.com/ cmd窗口输入 npm install -g cnpm --registryhttps://registry.npmmirror.com

中高级前端需要掌握哪些Vue底层原理

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

架构设计参考项目系列主题:新零售SaaS架构:客户管理系统架构设计

什么是客户管理系统? 客户管理系统,也称为CRM(Customer Relationship Management),主要目标是建立、发展和维护好客户关系。 CRM系统围绕客户全生命周期的管理,吸引和留存客户,实现缩短销售周期、降低销售成本、增加销售收入的目的,从而提高企业的盈利能力和竞争力。 …