linux 抓包工具tcpdump使用小记(使用时注意权限和系统资源)
tcpdump
是一款强大的网络数据包捕获和分析工具,常用于网络故障排查、协议分析、安全审计等场景。以下是其核心功能、使用方法及常见场景的详细介绍:
1. 基本功能
- 数据包捕获:监听网络接口,实时捕获传输的数据包。
- 过滤规则:基于协议、IP 地址、端口号等条件精确筛选数据包。
- 输出格式:支持多种输出格式(ASCII、十六进制),可保存到文件。
- 协议支持:几乎支持所有网络协议(TCP、UDP、ICMP、HTTP 等)
2. 常用命令参数
bash
tcpdump [选项] [过滤表达式]
选项 功能 示例 -i <接口>
指定监听的网络接口(如 eth0
,wlan0
),-i any
表示所有接口。tcpdump -i eth0
:监听以太网接口eth0
的数据包;tcpdump -i any
:监听所有网络接口的数据包。-n
不解析 IP 地址和端口号的域名,直接显示数字(提升性能)。 tcpdump -n
:在输出中,IP 地址和端口号以数字形式显示,例如192.168.1.1:80
而非example.com:http
。-nn
同时不解析域名和端口名(如 80
而非http
)。tcpdump -nn
:输出中不仅 IP 地址以数字显示,端口也以数字形式呈现,如tcp dst port 80
显示为具体数字80
,而不是http
。-s <字节数>
设置捕获数据包的最大长度, -s 0
表示捕获完整数据包。tcpdump -s 68
:每个数据包最多捕获 68 字节;tcpdump -s 0
:尝试捕获每个数据包的全部内容。-c <数量>
捕获指定数量的数据包后停止。 tcpdump -c 10
:捕获 10 个数据包后,tcpdump
工具停止运行。-w <文件名>
将数据包保存到文件( .pcap
格式)。tcpdump -w capture.pcap
:将捕获的数据包保存到名为capture.pcap
的文件中,后续可使用tcpdump -r
或其他工具(如 Wireshark)进行分析。-r <文件名>
从文件中读取数据包进行分析。 tcpdump -r saved_traffic.pcap
:读取名为saved_traffic.pcap
的文件,并对其中的数据包进行分析和显示。-X
以 ASCII 和十六进制形式显示数据包内容(适合分析协议细节)。 tcpdump -X
:在输出中,除了显示数据包的协议信息外,还会展示数据包的 ASCII 和十六进制内容,帮助分析协议数据,如 HTTP 头部信息等。-vvv
显示详细的协议信息(如 TCP 标志位、TTL 值)。 tcpdump -vvv
:输出中会包含更详细的协议信息,如 TCP 连接的标志位(SYN、ACK、FIN 等)、IP 数据包的生存时间(TTL)值等,便于深入分析网络连接状态。`--direction={in out inout}` 只捕获入站、出站或所有方向的数据包。 tcpdump --direction=in
:仅捕获进入指定网络接口的数据包;tcpdump --direction=out
:仅捕获从指定网络接口发出的数据包;tcpdump --direction=inout
:捕获进出指定网络接口的所有数据包。 -
3. 过滤表达式
过滤表达式用于精确筛选感兴趣的数据包,支持三种类型的限定词:
(1) 类型限定词
类型 示例 说明 host
host 192.168.1.1
过滤指定主机的数据包。 net
net 192.168.1.0/24
过滤指定网络段的数据包。 port
port 80
过滤指定端口的数据包。 portrange
portrange 8000-8100
过滤指定端口范围的数据包。 (2) 方向限定词
方向 示例 说明 src
src 192.168.1.1
过滤源地址为指定值的数据包。 dst
dst port 443
过滤目标端口为指定值的数据包。 (3) 协议限定词
协议 示例 说明 tcp
tcp and port 80
过滤 TCP 协议且端口为 80 的数据包。 udp
udp src port 53
过滤 UDP 协议且源端口为 53 的数据包。 icmp
icmp
过滤 ICMP 协议的数据包(如 ping 请求)。 4. 常见使用场景
(1) 监控特定主机的 HTTP 流量
bash
tcpdump -i eth0 -nn -s 0 'host 192.168.1.100 and (port 80 or port 443)'
- 说明:监听
eth0
接口,捕获与192.168.1.100
主机的 HTTP/HTTPS 通信。 -
(2) 捕获 DNS 查询请求
bash
tcpdump -i any -nn -s 0 'udp port 53'
- 说明:捕获所有接口上的 UDP 53 端口(DNS)流量。
-
(3) 保存数据包到文件
bash
tcpdump -i wlan0 -w wifi_traffic.pcap
- 说明:将
wlan0
接口的所有流量保存到wifi_traffic.pcap
文件。 -
(4) 分析 TCP 连接建立过程(三次握手)
bash
tcpdump -i eth0 -nn -vvv -s 0 'tcp port 80 and host 192.168.1.1'
- 说明:详细显示与
192.168.1.1
的 TCP 80 端口通信过程(SYN、SYN+ACK、ACK)。 -
(5) 统计特定 IP 的流量
bash
tcpdump -i eth0 -nn 'host 192.168.1.5' | wc -l
- 说明:统计与
192.168.1.5
通信的数据包数量。 -
5. 高级技巧
(1) 组合过滤条件
使用逻辑运算符组合多个条件:
bash
# 捕获源IP为192.168.1.1且目标端口不是22的TCP数据包 tcpdump -i eth0 'src 192.168.1.1 and tcp and not dst port 22'
(2) 实时分析 HTTP 请求内容
bash
tcpdump -i eth0 -A 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
- 说明:
-A
选项以 ASCII 显示数据包内容,过滤条件确保只显示包含数据的 HTTP 包。 -
(3) 按时间范围捕获
bash
# 捕获10分钟内的数据包 tcpdump -i eth0 -w capture.pcap -G 600 -W 1
- 说明:
-G 600
每 10 分钟(600 秒)生成一个新文件,-W 1
只保留最新的 1 个文件。 -
(4) 与 Wireshark 协同
将 tcpdump 捕获的文件用 Wireshark 打开进行可视化分析:
bash
# 捕获并保存到文件 tcpdump -i eth0 -w analysis.pcap# 用Wireshark打开(需预先安装) wireshark analysis.pcap &
6. 注意事项
- 权限要求:需要 root 权限才能捕获网络数据包。
- 性能影响:长时间捕获可能占用大量磁盘空间或系统资源。
- 若需要抓取本地进程发送的UDP包数据,可指定lo 接口(本地回环接口)tcpdump -i lo udp
- 隐私问题:捕获的数据包可能包含敏感信息(如密码、会话 ID)。
- 大文件处理:对于大型 pcap 文件,可使用
editcap
分割或过滤:bash
# 提取包含特定IP的数据包到新文件 editcap -F pcap -i 'ip.addr == 192.168.1.1' input.pcap output.pcap
相关文章:
linux 抓包工具tcpdump使用小记(使用时注意权限和系统资源)
tcpdump 是一款强大的网络数据包捕获和分析工具,常用于网络故障排查、协议分析、安全审计等场景。以下是其核心功能、使用方法及常见场景的详细介绍: 1. 基本功能 数据包捕获:监听网络接口,实时捕获传输的数据包。过滤规则&#…...
HTTP和HTTPS模块
一、HTTP 模块 1. 创建 HTTP 服务器 基本服务器示例 const http require(http);const server http.createServer((req, res) > {res.statusCode 200;res.setHeader(Content-Type, text/plain);res.end(Hello World\n); });server.listen(3000, 127.0.0.1, () > {co…...
操作系统导论——第29章 基于锁的并发数据结构
通过锁可以使数据结构线程安全(thread safe)。当然,具体如何加锁决定了该数据结构的正确性和效率?挑战是: 关键问题:如何给数据结构加锁? 对于特定数据结构,如何加锁才能让该结构功能…...
TensorFlow之微分求导
目录 前言示例手动微分实现两个未知数, 求偏导tf.GradientTape常量求导tf.GradientTape二阶导数tf.GradientTape实现梯度下降结合optimizer实现梯度下降 前言 在TensorFlow中,微分是个非常重要的概念。它们分别用于自动求导(计算梯度)和高效…...
电池自动点焊机:多领域电池制造的核心设备
电池自动点焊机作为电池制造领域的关键设备,通过电阻热焊接技术实现金属连接片与电池极片的精确焊接,广泛应用于数码电池、工具电池、储能电池、电动车电池及动力电池的生产环节。其核心技术基于微电脑控制与多脉冲焊接模式,能够针对不同电池…...
第五部分:第一节 - Node.js 简介与环境:让 JavaScript 走进厨房
我们之前学习的 JavaScript 主要运行在浏览器中,由浏览器内置的 JavaScript 引擎(如 Chrome 的 V8 引擎)来解释执行。Node.js 则是一个JavaScript 运行时环境,它也使用了 Chrome 的 V8 引擎,但它不是在浏览器里&#x…...
MQTT 协议详解:物联网通信的利器
在当今物联网(IoT)迅猛发展的背景下,设备之间的高效、可靠通信变得尤为重要。MQTT(Message Queuing Telemetry Transport)作为一种轻量级的消息传输协议,因其低带宽占用和高可靠性,成为物联网领…...
CST软件对OPERACST软件联合仿真汽车无线充电站对人体的影响
上海又收紧了新能源车的免费上牌政策。所以年前一些伙伴和我探讨过买新能源汽车的问题,小伙伴们基本纠结的点是买插电还是纯电?我个人是很抗拒新能源车的,也开过坐过。个人有几个观点: 溢价过高,不保值。实际并不环保…...
C++STL——map和set的使用
目录 1.容器 1.1 序列容器 1.2 容器适配器 1.3 关联容器 1.4 无序关联容器 1.5 键值对到底是个什么东西? 2.set系列的使用 2.1 set类的介绍 2.2 set的构造以及迭代器 2.3 set的增,删,查 2.3.1 插入 2.3.2 删除 2.3.3 查找 2.3.4…...
Ensemble Alignment Subspace Adaptation Method for Cross-Scene Classification
用于跨场景分类的集成对齐子空间自适应方法 摘要:本文提出了一种用于跨场景分类的集成对齐子空间自适应(EASA)方法,它可以解决同谱异物和异谱同物的问题。该算法将集成学习的思想与域自适应(DA)算法相结合…...
AFFS2 的 `yaffs_ext_tags` 数据结构详解
YAFFS2 的 yaffs_ext_tags 数据结构详解 yaffs_ext_tags 是 YAFFS2 文件系统中用于 管理 NAND 闪存页的元数据 的核心结构体,存储在 NAND 的 OOB(Out-Of-Band)区域。它记录了数据块的归属、状态、校验信息等关键元数据,是 YAFFS2…...
CSS经典布局之圣杯布局和双飞翼布局
目标: 中间自适应,两边定宽,并且三栏布局在一行展示。 圣杯布局 实现方法: 通过float搭建布局margin使三列布局到一行上relative相对定位调整位置; 给外部容器添加padding,通过相对定位调整左右两列的…...
超声波传感器模块
欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 1.HC-SR04介绍2.HC-SR04原理介绍2.1原理概述3.2原理详解 4驱动代码编写4.1写前思考4.2硬件连线 5.总结hcsr04.hhcsr04.c 1.HC-SR04介绍 超声波传感器有很多种类的型号:HC-SR04、UC-025、…...
使用scp命令拷贝hadoop100中文件到其他虚拟机中
以下是使用 scp 命令将 hadoop100 主机中的文件拷贝到其他虚拟机的操作步骤(假设其他主机名为 hadoop101 、 hadoop102 ,系统为 Linux): 1. 基本语法 bash scp [选项] 源文件路径 目标主机用户名目标主机IP:目标路径 - 选…...
Linux基础 -- 用户态Generic Netlink库高性能接收与回调框架
用户态Generic Netlink库高性能接收与回调框架 一、概述 在 Linux 系统中,Netlink 是用户态与内核态通信的强大机制。libnl 是一个专为简化 Netlink 编程而设计的库,提供了接收和处理 Netlink 消息的高级接口。libnl-genl 是其通用 Netlink (Generic N…...
java中的Optional
在 Java 8 中,Optional 是一个用于处理可能为 null 的值的容器类,旨在减少空指针异常(NullPointerException)并提升代码的可读性。以下是 Optional 的核心用法和最佳实践: 1. 创建 Optional 对象 1.1 常规创建方式 Op…...
原型和原型链
原型(Prototype) 和 原型链(Prototype Chain) 是 JavaScript 中非常重要的概念,它们是 JavaScript 实现继承和共享属性和方法的核心机制。理解原型和原型链可以帮助你更好地掌握 JavaScript 的面向对象编程(…...
解锁Python TDD:从理论到实战的高效编程之道(9/10)
引言 在 Python 开发的广袤天地中,确保代码质量与稳定性是每位开发者的核心追求。测试驱动开发(TDD,Test-Driven Development)作为一种强大的开发理念与实践方法,正逐渐成为 Python 开发者不可或缺的工具。TDD 强调在…...
OpenMCU(七):STM32F103开发环境搭建
概述 本文主要讲述了使用Keil软件搭建STM32F103嵌入式开发环境的步骤,主要面向想从事嵌入式行业的入门同学,如果下面的讲述过程中有不对的地方,欢迎大家给我留言。 本文主要讲述了Keil 5.43的安装教程,主要用于学习交流…...
六、Hive 分桶
作者:IvanCodes 日期:2025年5月13日 专栏:Hive教程 在 Hive 中,除了常见的分区(Partitioning),分桶(Bucketing)是另一种重要且有效的数据组织和性能优化手段。它允许我们…...
INFINI Console 纳管 Elasticsearch 9(一):指标监控、数据管理、DSL 语句执行
Elasticsearch v9.0 版本最近已发布,而 INFINI Console 作为一款开源的非常轻量级的多集群、跨版本的搜索基础设施统一管控平台,是否支持最新的 Elasticsearch v9.0 集群管理呢?本文以 INFINI Console v1.29.2 为例,从指标监控、数…...
ansible进阶版01
ansible进阶版01 欢迎使用Markdown编辑器最佳实践保持简单 保持井然有序(有组织的)经常测试 git工作原理 chapter 2编写ymal格式的主机清单 欢迎使用Markdown编辑器 最佳实践 保持简单 使用yaml的原生语法使用自带模块尽量使用专用模块,不…...
python文件打包成exe文件
✅ 一、安装 PyInstaller 打开cmd,输入以下代码 pip install pyinstaller✅ 二、打包指令 比如说你有如下的文件需要打包。 首先复制你的文件所在目录,比如我的是C:\Users\Administrator\Desktop\BearingSearchSystem 在cmd中切换到该目录来…...
人脸识别系统中的隐私与数据权利保障
首席数据官高鹏律师创作 如今人脸识别技术以其高效、便捷的特性广泛应用于各个领域,从安防监控到移动支付,从门禁系统到社交媒体。然而,这项技术在为我们的生活带来诸多便利的同时,也引发了一系列关于隐私与数据权利的深刻担忧。…...
电脑关机再开机会换IP吗?深入解析分配机制
在日常使用电脑时,许多用户可能会好奇:关机后再开机,IP地址会不会变化? 这个问题看似简单,但实际上涉及多个因素。本文将详细解析电脑IP地址的变化机制,帮助大家理解其中的原理,并提供相关的…...
经典中的经典-比特币白皮书中文版
AI是一切假的集合,如果任凭AI如此聪明下去,所有的人都将被AI愚弄与股掌之间,那么能限制AI的只有区块链这个让一切数据都无处遁形的真神,而比特币作为区块链的鼻祖,开创了公开账本的先河,当互联网上所有的信…...
Spring事务失效的全面剖析
文章目录 1. Spring事务基础1.1 什么是Spring事务1.2 Spring事务的实现原理1.3 `@Transactional`注解的主要属性1.4 使用Spring事务的简单示例2. Spring事务失效的常见场景及解决方案2.1 方法不是public的问题描述问题示例解决方案技术原理解释2.2 自调用问题(同一个类中的方法…...
本地的ip实现https访问-OpenSSL安装+ssl正式的生成(Windows 系统)
1.下载OpenSSL软件 网站地址:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions 安装: 一直点击下一步就可以了 2.设置环境变量 在开始菜单右键「此电脑」→「属性」→「高级系统设置」→「环境变量」 在Path 中添加一个: xxxx\OpenSSL-…...
【go】binary包,大小端理解,read,write使用,自实现TCP封包拆包案例
binary.LittleEndian 是 Go 语言 encoding/binary 包中的一个常量,用于指定字节序(Byte Order)。字节序是指多字节数据在内存中存储的顺序,有两种主要方式: 小端序(Little Endian):…...
[万字]qqbot开发记录,部署真寻bot+自编插件
这是我成功部署真寻bot以及实现一个自己编写的插件(连接deepseek回复内容)的详细记录,几乎每一步都有截图。 正文: 我想玩玩qqbot。为了避免重复造轮子,首先选一个github的高星项目作为基础吧。 看了一眼感觉真寻bot不…...
国内USB IP商业解决方案新选择:硬件USB Server
在数字化办公日益普及的今天,USB OVER NETWORK技术,即USB IP技术,为企业带来了前所未有的便捷与高效。作为这一领域的佼佼者,朝天椒USB Server以其卓越的性能和贴心的设计,正逐步成为众多中国企业的首选USB IP商业解决…...
百度导航广告“焊死”东鹏特饮:商业底线失守,用户安全成隐忧
近日,百度地图因导航时植入“广告”的问题登上社交媒体热搜,并引发广泛争议。 截图自微博 导航途中出现“焊死”在路面的广告 安全隐患引争议 多位网友发帖称,在使用百度地图导航时,导航界面中的公路路面上出现了“累了困了喝东…...
yolo11n-obb训练rknn模型
必备: 准备一台ubuntu22的服务器或者虚拟机(x86_64) 1、数据集标注: 1)推荐使用X-AnyLabeling标注工具 2)标注选【旋转框】 3)可选AI标注,再手动补充,提高标注速度 …...
GNU Screen 曝多漏洞:本地提权与终端劫持风险浮现
SUSE安全团队全面审计发现,广泛使用的终端复用工具GNU Screen存在一系列严重漏洞,包括可导致本地提权至root权限的缺陷。这些问题同时影响最新的Screen 5.0.0版本和更普遍部署的Screen 4.9.x版本,具体影响范围取决于发行版配置。 尽管GNU Sc…...
无人机避障——如何利用MinumSnap进行对速度、加速度进行优化的轨迹生成(附C++python代码)
🔥轨迹规划领域的 “YYDS”——minimum snap!作为基于优化的二次规划经典,它是无人机、自动驾驶轨迹规划论文必引的 “开山之作”。从优化目标函数到变量曲线表达,各路大神疯狂 “魔改”,衍生出无数创新方案。 &#…...
2025 3D工业相机选型及推荐
3D工业相机是专门为工业应用设计的三维视觉采集设备,能够获取物体的三维空间信息,在智能制造、质量检测、机器人引导等领域有广泛应用。 一、主要类型 1.结构光3D相机 通过投射特定光斑或条纹图案并分析变形来重建三维形状 典型代表:双目结构…...
芋道(yudao-cloud)项目,后端接口报401-账号未登录解决方案
一、需求 最近公司有新的业务需求,调研了一下,决定使用芋道(yudao-cloud)框架,于是从github(https://github.com/YunaiV/yudao-cloud)上克隆项目,选用的是jdk17版本的。根据项目启动手册&#…...
动态域名服务ddns怎么设置?如何使用路由器动态域名解析让外网访问内网?
设置路由器的动态域名解析(DDNS),通常需先选择支持 DDNS 的路由器和提供 DDNS 服务的平台,然后在路由器管理界面中找到 DDNS 相关设置选项,填入在服务平台注册的账号信息,完成配置后保存设置并等待生效。 …...
论文《Collaboration-Aware Graph Convolutional Network for Recommender Systems》阅读
论文《Collaboration-Aware Graph Convolutional Network for Recommender Systems》阅读 论文概况Introduction and MotivationMethodologyLightGCN 传播形式CIRCAGCNImplementation Experiments 论文概况 论文《Collaboration-Aware Graph Convolutional Network for Recomm…...
Codis集群搭建和集成使用的详细步骤示例
以下是Codis集群搭建和集成使用的详细步骤示例: 环境准备 安装Go语言环境 下载并安装适配操作系统的Go语言版本。配置环境变量GOROOT和GOPATH。 安装ZooKeeper 下载ZooKeeper压缩包,解压并进入目录。复制conf/zoo_sample.cfg为conf/zoo.cfg。启动ZooKe…...
利用比较预言机处理模糊的偏好数据
论文标题 ComPO:Preference Alignment via Comparison Oracles 论文地址 https://arxiv.org/pdf/2505.05465 模型地址 https://huggingface.co/ComparisonPO 作者背景 哥伦比亚大学,纽约大学,达摩院 动机 DPO算法直接利用标注好的数据来做偏好对…...
《数据库原理》部分习题解析
《数据库原理》部分习题解析 1. 课本pg196.第1题。 (1)函数依赖 若对关系模式 R(U) 的任何可能的关系 r,对于任意两个元组 t₁ 和 t₂,若 t₁[X] t₂[X],则必须有 t₁[Y] t₂[Y],则称属性集 Y 函数依赖…...
【HCIA】浮动路由
前言 我们通常会在出口路由器配置静态路由去规定流量进入互联网默认应该去往哪里。那么,如果有两个运营商的路由器都能为我们提供上网服务,我们应该如何配置默认路由呢?浮动路由又是怎么一回事呢? 文章目录 前言1. 网络拓扑图2. …...
基于机器学习的卫星钟差预测方法研究HPSO-BP
摘要 本文研究了三种机器学习方法(BP神经网络、随机森林和支持向量机)在卫星钟差预测中的应用。通过处理GPS和GRACE卫星的钟差数据,构建了时间序列预测模型,并比较了不同方法的预测性能。实验结果表明,优化后的BP神经…...
机器学习中分类模型的常用评价指标
评价指标是针对模型性能优劣的一个定量指标。 一种评价指标只能反映模型一部分性能,如果选择的评价指标不合理,那么可能会得出错误的结论,故而应该针对具体的数据、模型选取不同的的评价指标。 本文将详细介绍机器学习分类任务的常用评价指…...
AI 检测原创论文:技术迷思与教育本质的悖论思考
当高校将 AI 写作检测工具作为学术诚信的 "电子判官",一场由技术理性引发的教育异化正在悄然上演。GPT-4 检测工具将人类创作的论文误判为 AI 生成的概率高达 23%(斯坦福大学 2024 年研究数据),这种 "以 AI 制 AI&…...
langchain学习
无门槛免费申请OpenAI ChatGPT API搭建自己的ChatGPT聊天工具 https://nuowa.net/872 基本概念 LangChain 能解决大模型的两个痛点,包括模型接口复杂、输入长度受限离不开自己精心设计的模块。根据LangChain 的最新文档,目前在 LangChain 中一共有六大…...
蓝桥杯 10. 全球变暖
全球变暖 原题目链接 题目描述 你有一张某海域 N x N 像素的照片: . 表示海洋# 表示陆地 例如如下所示: ....... .##.... .##.... ....##. ..####. ...###. .......在照片中,“上下左右”四个方向上连在一起的一片陆地组成一座岛屿。例…...
OpenTiny icons——超轻量的CSS图标库,引领图标库新风向
我们非常高兴地宣布 opentiny/icons 正式发布啦! 源码:https://github.com/opentiny/icons(欢迎 Star ⭐) 官网:https://opentiny.github.io/icons/ 图标预览:https://opentiny.github.io/icons/brow…...
python使用OpenCV 库将视频拆解为帧并保存为图片
python使用OpenCV 库将视频拆解为帧并保存为图片 import cv2 import osdef video_to_frames(video_path, output_folder, frame_prefixframe_, interval1, target_sizeNone, grayscaleFalse):"""将视频拆分为帧并保存为图片参数:video_path (str): 视频文件路径…...