当前位置: 首页 > article >正文

tcpdump`是一个非常强大的命令行工具,用于在网络上捕获并分析数据包

通过 tcpdump,你可以抓取网络流量,诊断网络问题,或分析通信协议的细节。下面是如何在 Linux 上使用 tcpdump 进行抓包的详细步骤。

1. 安装 tcpdump

在大多数 Linux 发行版中,tcpdump 是默认安装的。如果没有安装,可以通过包管理器进行安装。

Debian/Ubuntu 系 系统上:
sudo apt update
sudo apt install tcpdump
CentOS/RHEL 系 系系统上:
sudo yum install tcpdump
Arch Linux 系 系系统上:
sudo pacman -S tcpdump

2. 使用 tcpdump 进行抓包

tcpdump 需要管理员权限(通常是 root 用户)才能捕获网络数据包,因为它需要访问网络接口的低级数据。因此,通常需要使用 sudo 来运行 tcpdump

2.1 查看可用的网络接口

首先,查看系统上可用的网络接口,这样你可以选择在哪个接口上进行抓包。

sudo tcpdump -D

这将列出所有可用的网络接口,例如:

1. eth0
2. wlan0
3. lo

选择你要抓包的接口(例如 eth0)。

2.2 开始抓包

假设你选择了 eth0 接口,你可以开始抓取该接口上的所有网络流量:

sudo tcpdump -i eth0

这个命令会实时显示抓取到的网络数据包信息,直到你按下 Ctrl+C 停止抓包。

2.3 抓取指定协议的包

如果你只关心某一类协议的流量,可以通过 tcpdump 的过滤器来筛选。例如:

  • 抓取所有 HTTP 流量(端口 80)

    sudo tcpdump -i eth0 port 80
    
  • 抓取 TCP 流量

    sudo tcpdump -i eth0 tcp
    
  • 抓取 UDP 流量

    sudo tcpdump -i eth0 udp
    
  • 抓取来自或发往特定 IP 地址的流量

    sudo tcpdump -i eth0 host 192.168.1.1
    
  • 抓取来自某个 IP 地址并使用特定端口的流量

    sudo tcpdump -i eth0 host 192.168.1.1 and port 80
    
2.4 保存抓包结果到文件

你可以将抓取到的数据包保存到文件中,供以后分析。常见的文件格式是 .pcap,这是一种标准的网络抓包格式。

sudo tcpdump -i eth0 -w capture.pcap

这将把抓取的网络数据包保存到 capture.pcap 文件中。你可以使用 Wireshark 或其他工具分析该文件。

2.5 读取抓包文件

如果你已经保存了抓包文件,可以使用以下命令读取并分析它:

sudo tcpdump -r capture.pcap

3. 过滤抓包内容

tcpdump 提供了强大的过滤功能,可以通过以下常见的过滤条件来缩小抓包范围:

  • 协议过滤器

    • tcp:只抓取 TCP 数据包
    • udp:只抓取 UDP 数据包
    • icmp:只抓取 ICMP 数据包(例如 ping 请求)
    • arp:只抓取 ARP 请求
  • 端口过滤器

    • port 80:抓取所有访问端口 80(HTTP)的数据包
    • src port 80:抓取所有源端口为 80 的数据包
    • dst port 80:抓取所有目的端口为 80 的数据包
  • IP 地址过滤器

    • host 192.168.1.1:抓取和 IP 地址 192.168.1.1 相关的所有数据包
    • src host 192.168.1.1:抓取源地址是 192.168.1.1 的数据包
    • dst host 192.168.1.1:抓取目标地址是 192.168.1.1 的数据包
  • 结合多个条件

    • src 192.168.1.1 and tcp:抓取源地址为 192.168.1.1 且协议为 TCP 的数据包
    • host 192.168.1.1 and port 443:抓取与 192.168.1.1 地址和端口 443(HTTPS)相关的流量

4. 显示更多信息

你可以使用一些选项来控制 tcpdump 输出的详细程度:

  • 显示更详细的包信息

    sudo tcpdump -i eth0 -v
    

    或者增加更多的 v 来获得更详细的输出:

    sudo tcpdump -i eth0 -vvv
    
  • 显示数据包的内容(十六进制和 ASCII)

    sudo tcpdump -i eth0 -X
    

    或者仅显示十六进制数据:

    sudo tcpdump -i eth0 -xx
    

5. 限制抓包的包数

如果你只想抓取一定数量的数据包,可以使用 -c 选项。例如,抓取 100 个数据包后停止:

sudo tcpdump -i eth0 -c 100

6. 分析抓包

捕获的数据包可以通过多种工具进行分析,最常用的是 Wireshark。你可以将 tcpdump 捕获的 .pcap 文件导入 Wireshark 中进行详细的分析。Wireshark 提供了一个图形界面,便于用户查看、分析和诊断网络问题。

总结

  • tcpdump 是一个强大的网络抓包工具,可以用来捕获和分析网络流量。
  • 使用常见的过滤器(如协议、端口、IP 地址)来限制抓包内容。
  • 通过 -w 保存抓包结果为 .pcap 文件,可以使用 Wireshark 等工具进一步分析。
  • 利用 -v-X 等选项查看更详细的抓包信息。

如果有任何具体问题,或者需要更详细的帮助,请随时告诉我!

相关文章:

tcpdump`是一个非常强大的命令行工具,用于在网络上捕获并分析数据包

通过 tcpdump,你可以抓取网络流量,诊断网络问题,或分析通信协议的细节。下面是如何在 Linux 上使用 tcpdump 进行抓包的详细步骤。 1. 安装 tcpdump 在大多数 Linux 发行版中,tcpdump 是默认安装的。如果没有安装,可…...

IS-IS中特殊字段——OL过载

文章目录 OL 过载位 🏡作者主页:点击! 🤖Datacom专栏:点击! ⏰️创作时间:2025年04月13日20点12分 OL 过载位 路由过载 使用 IS-IS 的过载标记来标识过载状态 对设备设置过载标记后&#xff…...

【时频谱分析】快速谱峭度

算法配置页面,也可以一键导出结果数据 报表自定义绘制 获取和下载【PHM学习软件PHM源码】的方式 获取方式:Docshttps://jcn362s9p4t8.feishu.cn/wiki/A0NXwPxY3ie1cGkOy08cru6vnvc...

Spring Boot 支持的内嵌服务器(Tomcat、Jetty、Undertow、Netty(用于 WebFlux 响应式应用))详解

Spring Boot 支持的内嵌服务器详解 1. 支持的内嵌服务器 Spring Boot 默认支持以下内嵌服务器: Tomcat(默认)JettyUndertowNetty(用于 WebFlux 响应式应用) 2. 各服务器使用示例 (1) Tomcat(默认&#xf…...

微软Exchange管理中心全球范围宕机

微软已确认Exchange管理中心(Exchange Admin Center,EAC)发生全球性服务中断,导致管理员无法访问关键管理工具。该故障被标记为关键服务事件(编号EX1051697),对依赖Exchange Online的企业造成广…...

基于AI的Web应用防火墙(AppWall)实战:漏洞拦截与威胁情报集成

摘要:针对Web应用面临的OWASP、CVE等漏洞攻击,本文结合群联AI云防护系统的AppWall模块,详解AI规则双引擎的防御原理,并提供漏洞拦截配置与威胁情报集成代码示例。 一、Web应用安全挑战与AppWall优势 传统WAF依赖规则库更新滞后&a…...

基于Qt的串口通信工具

程序介绍 该程序是一个基于Qt的串口通信工具,专用于ESP8266 WiFi模块的AT指令配置与调试。主要功能包括: 1. 核心功能 串口通信:支持串口开关、参数配置(波特率、数据位、停止位、校验位)及数据收发。 AT指令操作&a…...

CSS 字体学习笔记

在网页设计中,字体的使用对于提升用户体验和页面美观性至关重要。CSS 提供了一系列字体属性,用于控制文本的显示效果。以下是对 CSS 字体属性的详细学习笔记。 一、字体系列(font-family) 1. 字体系列的分类 在 CSS 中&#xf…...

《MySQL是怎样运行的》总结笔记

内容太多,主要总结一些自己认为重要的,另外太基础常见可能不会总结上。 字符集和比较规则 MySQL会通过把字符串编码后再进行比较大小并排序,有一些很早的字符集可能会不支持中文,比如ASCII、ISO 8859-1,现在最常用的…...

力扣每日打卡 1922. 统计好数字的数目 (中等)

力扣 1922. 统计好数字的数目 中等 前言一、题目内容二、解题方法1. 暴力解法(会超时,此法不通)2. 快速幂运算3. 组合计数的思维逻辑分析组合计数的推导例子分析思维小结论 4.官方题解4.1 方法一:快速幂 三、快速幂运算快速幂运算…...

上层 Makefile 控制下层 Makefile 的方法

在复杂的项目中,通常会将项目划分为多个模块或子项目,每个模块都有自己的 Makefile。上层 Makefile 的作用是协调和控制这些下层 Makefile 的构建过程。下面是几种常见的示例,实现上层 Makefile 对下层 Makefile 的控制。 直接调用&#xff1…...

html简易实现推箱子小游戏原理(易上手)

实现效果 使用方向键移动&#xff0c;将橙色箱子推到绿色目标区域&#xff08;黑色块为墙&#xff0c;白色块为可通过区域&#xff0c;蓝球为小人&#xff09; 实现过程 <!DOCTYPE html> <html> <head><title>推箱子小游戏</title><style&g…...

搭建一个Spring Boot聚合项目

1. 创建父项目 打开IntelliJ IDEA&#xff0c;选择 New Project。 在创建向导中选择 Maven&#xff0c;确保选中 Create from archetype&#xff0c;选择 org.apache.maven.archetypes:maven-archetype-quickstart。 填写项目信息&#xff1a; GroupId&#xff1a;com.exampl…...

字符串与栈和队列-算法小结

字符串 双指针 反转字符串(双指针) 力扣题目链接 void reverseString(vector<char>& s) {for (int i 0, j s.size() - 1; i < s.size()/2; i, j--) {swap(s[i],s[j]);} }反转字符串II 力扣题目链接 遍历字符串的过程中&#xff0c;只要让 i (2 * k)&#…...

类似东郊到家的上门按摩预约服务系统小程序APP源码全开源

&#x1f525; 为什么上门按摩正在席卷全国&#xff1f; 万亿蓝海市场爆发 2024年中国按摩市场规模突破8000亿&#xff0c;上门服务增速达65% 90后成消费主力&#xff0c;**72%**白领每月至少使用1次上门按摩&#xff08;数据来源&#xff1a;艾媒咨询&#xff09; 传统痛点…...

Python | 在Pandas中按照中值对箱形图排序

箱形图是可视化数据分布的强大工具&#xff0c;因为它们提供了对数据集内的散布、四分位数和离群值的洞察。然而&#xff0c;当处理多个组或类别时&#xff0c;通过特定的测量&#xff08;如中位数&#xff09;对箱形图进行排序可以提高清晰度并有助于揭示模式。在本文中&#…...

[实战] 二分查找与哈希表查找:原理、对比与C语言实现(附完整C代码)

二分查找与哈希表查找&#xff1a;原理、对比与C语言实现 一、引言 在计算机科学中&#xff0c;高效的数据查找是核心问题之一。本文深入解析两种经典查找算法&#xff1a;二分查找与哈希表查找&#xff0c;从算法原理、时间复杂度、适用场景到完整C语言实现&#xff0c;提供…...

游戏引擎学习第215天

总结并为今天做铺垫 今天的工作内容是解决调试系统中的一个小问题。昨天我们已经完成了大部分的调试系统工作&#xff0c;但还有一个小部分没有完全处理&#xff0c;那就是关于如何层次化组织数据的问题。我们遇到的一个问题是&#xff0c;演示代码中仍有一个尚未解决的部分&a…...

【Redis】redis事物与管道

Redis 事务&#xff08;Transaction&#xff09; 事务概念 事务&#xff1a;是一组操作的集合&#xff0c;是不可分割的工作单元。Redis 事务特点&#xff1a; 一个事务可以一次执行多个命令。所有命令都被顺序化&#xff0c;形成一个队列。所有命令在执行 EXEC 时一次性、顺…...

Django信号使用完全指南示例

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 **引言:****先决条件:****目录:****1. 什么是Django信号?****2:设置你的Django项目****2.1. 安装Django**2.2. 创建一个Django项…...

DeepSeek BLEU和ROUGE(Recall)的计算

以下是 BLEU Score (Bilingual ​Evaluation ​Understudy)和 ROUGE Score(​Recall-Oriented ​Understudy for ​Gisting ​Evaluation) 的原生Python实现&#xff08;不依赖第三方库&#xff09;&#xff0c;通过分步计算逻辑和示例详细说明。 一、BLEU Score 实现 核心逻辑…...

vulkanscenegraph显示倾斜模型(5.9)-vsg中vulkan资源的编译

前言 上一章深入剖析了GPU资源内存及其管理&#xff0c;vsg中为了提高设备内存的利用率&#xff0c;同时减少内存(GPU)碎片&#xff0c;采用GPU资源内存池机制(vsg::MemoryBufferPools)管理逻辑缓存(VkBuffer)与物理内存(VkDeviceMemory)。本章将深入vsg中vulkan资源的编译(包含…...

今日行情明日机会——20250409

今日行情还需要考虑关税对抗~ 2025年4月8日涨停的主要行业方向分析 1. 军工&#xff08;19家涨停&#xff09; 细分领域&#xff1a;国防装备、航空航天、军民融合。催化因素&#xff1a;国家安全战略升级、国防预算增加、重大军工项目落地预期。 2. 免税&#xff08;15家涨…...

XHR、FetchAxios详解网络相关大片文件上传下载

以下是 XHR(XMLHttpRequest) 与 Fetch API 的全面对比分析,涵盖语法、功能、兼容性等核心差异: 一、语法与代码风格 XHR(基于事件驱动) 需要手动管理请求状态(如 onreadystatechange 事件)和错误处理,代码冗长且易出现回调地狱。 const xhr = new XMLHttpRequest(); x…...

Python基础总结(四)之元组

文章目录 一、元组格式二、元组操作2.1 转换元组 与 列表一样&#xff0c;元组也是序列&#xff0c;唯一的区别在于元组是不能修改的&#xff0c;与字符串一样。 一、元组格式 元组的创建方式很简单&#xff0c;秩序用逗号将元素隔开就能自动创建一个元组 示例&#xff1a; …...

系统分析师(六)-- 计算机网络

概述 TCP/IP 协议族 DNS DHCP 网络规划与设计 逻辑网络设计 物理网络设计 题目 层次化网络设计 网络冗余设计 综合布线系统 IP地址 网络接入技术 其他网络技术应用 物联网...

【前端】【React】useCallback的作用与使用场景总结

一、useCallback 的作用与使用场景总结 useCallback 是 React 提供的一个 Hook&#xff0c;用于缓存函数的引用&#xff0c;避免因为组件重新渲染而导致函数地址发生变化。它返回一个记忆&#xff08;memoized&#xff09;后的回调函数&#xff0c;只有当依赖项发生变化时才会…...

Qwen2.5-VL Technical Report 论文翻译和理解

一、TL&#xff1b;DR Qwen2.5-VL是QwenVL的最新模型&#xff0c;在视觉识别、精准目标定位、稳健文档解析以及长视频理解等方面实现了重大突破引入了动态分辨率处理和绝对时间编码&#xff0c;使其能够处理不同尺寸的图像以及长达数小时的视频&#xff0c;并实现秒级事件定位…...

Foxmail邮件客户端跨站脚本攻击漏洞(CNVD-2025-06036)技术分析

Foxmail邮件客户端跨站脚本攻击漏洞&#xff08;CNVD-2025-06036&#xff09;技术分析 漏洞背景 ‌漏洞编号‌&#xff1a;CNVD-2025-06036 ‌CVE编号‌&#xff1a;待分配 ‌厂商‌&#xff1a;腾讯Foxmail ‌影响版本‌&#xff1a;Foxmail < 7.2.25 ‌漏洞类型‌&#x…...

C语言打印的坑

使用下面的代码buf dprt("data: 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x", buf[0], buf[1], buf[2], buf[3], buf[4], buf[5]); 明明是一个字节一个字节的打&#xff0c;打出来的数据有些却是4个字节 0xffffffff 0xffffffff 0xffffffff 0x7f 0xffffffff 0x7f0…...