Linux抓包命令tcpdump详解笔记

文章目录

    • 一、tcpdump 是什么?
    • 二、基本语法
    • 三、常用参数说明
    • 四、抓包示例(通俗易懂)
      • 1. 抓所有数据包(默认 eth0)
      • 2. 指定接口抓包
      • 3. 抓取端口 80 的数据包(即 HTTP 请求)
      • 4. 抓取访问某个 IP 的数据包
      • 5. 抓取 TCP 协议的数据包
      • 6. 抓取源 IP 为 192.168.1.5 的包
      • 7. 抓取目的端口为 22(SSH) 的包
      • 8. 抓取数据并保存为 pcap 文件
    • 五、过滤表达式组合
    • 六、实时查看数据包内容
    • 七、常见用途总结
    • 八、停止抓包
    • 九、注意事项
    • 十、案例:排查 Web 服务访问异常
        • 背景
        • 第一步:服务端开启抓包
        • 第二步:客户端 curl 请求
        • 第三步:分析抓包输出(部分示例)
        • 如果没有抓到内容怎么办?
    • 总结:通过抓包排查服务异常

一、tcpdump 是什么?

tcpdump 是一个命令行抓包工具,它可以监听网络接口上的数据包,并将其内容打印出来。相比图形化工具(如 Wireshark),tcpdump 更轻量、适合远程服务器操作。


二、基本语法

tcpdump [选项] [过滤表达式]

常用结构:

sudo tcpdump -i eth0

三、常用参数说明

参数含义
-i interface指定要监听的网络接口,例如 eth0, ens33, lo
-nn不将地址和端口转换为主机名和服务名
-v, -vv, -vvv输出更详细的包信息
-c num抓取指定数量的包后自动退出
-w file将抓到的包写入文件,供 Wireshark 分析(如:.pcap
-r file读取之前保存的 .pcap 文件
-s size抓取数据包的大小(默认只抓前96字节)

四、抓包示例(通俗易懂)

1. 抓所有数据包(默认 eth0)

sudo tcpdump

2. 指定接口抓包

sudo tcpdump -i ens33

3. 抓取端口 80 的数据包(即 HTTP 请求)

sudo tcpdump -i ens33 port 80

4. 抓取访问某个 IP 的数据包

sudo tcpdump host 192.168.1.10

5. 抓取 TCP 协议的数据包

sudo tcpdump tcp

6. 抓取源 IP 为 192.168.1.5 的包

sudo tcpdump src 192.168.1.5

7. 抓取目的端口为 22(SSH) 的包

sudo tcpdump dst port 22

8. 抓取数据并保存为 pcap 文件

sudo tcpdump -i ens33 -w output.pcap

然后可以用 Wireshark 打开 output.pcap 文件分析。


五、过滤表达式组合

可以使用 AND、OR、NOT 来组合条件:

#抓取目的端口为 80 且源 IP 为 192.168.1.10 的包
sudo tcpdump dst port 80 and src 192.168.1.10#抓取非本机 IP 的所有包
sudo tcpdump not src host 127.0.0.1

六、实时查看数据包内容

sudo tcpdump -A -i ens33 port 80

-A 会以 ASCII 格式输出数据内容,适合抓取 HTTP 明文请求。


七、常见用途总结

场景示例命令
抓某个 IP 的流量tcpdump host 192.168.1.10
抓某个端口的流量tcpdump port 3306
保存抓包文件tcpdump -w mysql.pcap port 3306
实时观察 HTTP 内容tcpdump -A port 80

八、停止抓包

  • 直接 Ctrl + C 停止并返回统计信息。

九、注意事项

  1. tcpdump 通常需要 root 权限

  2. 不能抓加密内容(如 HTTPS),但可以看到握手。

  3. 若接口名不知道,可以使用命令查看所有网络接口:

    ip a
    

十、案例:排查 Web 服务访问异常

背景

在维护一台 Ubuntu 服务器,服务器 IP 是 192.168.163.130,在这台机器上部署了一个 Web 服务(监听在 80 端口),但用户反映无法访问。

需要确认:

  • 客户端(比如另一台机器)是否发起了请求?
  • 服务端是否接收到请求?
  • 响应是否正常返回?
第一步:服务端开启抓包

在 Web 服务所在的服务器上运行

sudo tcpdump -i ens33 -nn -A port 80 and host 192.168.163.133

解释:

  • -i ens33:监听本机的网络接口(你可根据 ip a 查具体名称)
  • -nn:不解析主机名和端口名,显示数字
  • -A:以 ASCII 形式输出,便于看 HTTP 请求内容
  • port 80:只抓 HTTP 流量
  • host 192.168.163.133:只抓指定客户端发来的数据(这台是访问你服务器的客户端)
第二步:客户端 curl 请求

在另一台主机(比如 192.168.163.133)执行:

curl http://192.168.163.130

这会发起一个 HTTP 请求。

第三步:分析抓包输出(部分示例)

如果服务正常,你应该会在 tcpdump 中看到类似内容:

GET / HTTP/1.1
Host: 192.168.163.130
User-Agent: curl/7.81.0
Accept: */*HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
...
<html>...</html>

说明:

  • 客户端成功发起了 HTTP 请求(GET / HTTP/1.1
  • 服务器返回了 200 状态码
如果没有抓到内容怎么办?

可能是以下问题:

现象排查建议
抓不到任何包客户端根本没发起请求;或防火墙阻断
有请求无响应服务未监听 80 端口;nginx/apache 没启动
请求显示连接被拒绝服务未运行,或被防火墙拦截
是 HTTPS 流量port 443,但内容是加密的,看不到明文

可以用以下命令排查服务状态:

sudo ss -tnlp | grep :80        # 查看是否监听了80端口
sudo ufw status                 # 查看防火墙

保存抓包供分析(可配合 Wireshark)

sudo tcpdump -i ens33 -w web_error.pcap port 80

然后传输 .pcap 文件到本地,用 Wireshark 打开,能更图形化分析每一条请求响应

总结:通过抓包排查服务异常

步骤操作
开启抓包tcpdump -i ens33 port 80 and host 客户端IP
客户端访问测试curl http://服务端IP
实时分析 HTTP 请求-A 显示明文
保存数据包-w file.pcap
tcpdump -i ens33 port 80 and host 客户端IP
客户端访问测试curl http://服务端IP
实时分析 HTTP 请求-A 显示明文
保存数据包-w file.pcap
问题排查方向没请求 / 有请求无响应 / 端口监听 / 防火墙拦截

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

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

相关文章

抖音、快手、视频号等多平台视频解析下载 + 磁力嗅探下载、视频加工(提取音频 / 压缩等)

跟你们说个安卓上的下载工具&#xff0c;还挺厉害的。它能支持好多种下载方式&#xff0c;具体多少种我没细数&#xff0c;反正挺全乎的。​ 平时用得最多的就是视频解析&#xff0c;像抖音、快手、B 站上那些视频&#xff0c;想存下来直接用它就行&#xff0c;连海外视频的也能…

【iOS】JSONModel源码学习

JSONModel源码学习前言JSONModel的使用最基础的使用转换属性名称自定义错误模型嵌套JSONModel的继承源码实现initWithDictionaryinit__doesDictionaryimportDictionary优点前言 之前了解过JSONModel的一些使用方法等&#xff0c;但是对于底层实现并不清楚了解&#xff0c;今天…

SmartMediaKit 模块化音视频框架实战指南:场景链路 + 能力矩阵全解析

✳️ 引言&#xff1a;从“内核能力”到“模块体系”的演进 自 2015 年起&#xff0c;大牛直播SDK&#xff08;SmartMediaKit&#xff09;便致力于打造一个可深度嵌入、跨平台兼容、模块自由组合的实时音视频基础能力框架。经过多轮技术迭代与场景打磨&#xff0c;该 SDK 已覆…

【第5话:相机模型1】针孔相机、鱼眼相机模型的介绍及其在自动驾驶中的作用及使用方法

相机模型介绍及相机模型在自动驾驶中的作用及使用方法 相机模型是计算机视觉中的核心概念&#xff0c;用于描述真实世界中的点如何投影到图像平面上。在自动驾驶系统中&#xff0c;相机模型用于环境感知&#xff0c;如物体检测和场景理解。下面我将详细介绍针孔相机模型和鱼眼相…

推荐一款优质的开源博客与内容管理系统

Halo是一款由Java Spring Boot打造的开源博客与内容管理系统&#xff08;CMS&#xff09;&#xff0c;在 GitHub上拥有超过36K Start的活跃开发者社区。它使用GPL‑3.0授权开源&#xff0c;稳定性与可维护性极高。 Halo的设计简洁、注重性能&#xff0c;同时保持高度灵活性&a…

【GPT入门】第43课 使用LlamaFactory微调Llama3

【GPT入门】第43课 使用LlamaFactory微调Llama31.环境准备2. 下载基座模型3.LLaMA-Factory部署与启动4. 重新训练![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e7aa869f8e2c4951a0983f0918e1b638.png)1.环境准备 采购autodl服务器&#xff0c;24G,GPU,型号3090&am…

计算机网络:如何理解目的网络不再是一个完整的分类网络

这一理解主要源于无分类域间路由&#xff08;CIDR&#xff09;技术的广泛应用&#xff0c;它打破了传统的基于类的IP地址分配方式。具体可从以下方面理解&#xff1a; 传统分类网络的局限性&#xff1a;在早期互联网中&#xff0c;IP地址被分为A、B、C等固定类别&#xff0c;每…

小米开源大模型 MiDashengLM-7B:不仅是“听懂”,更能“理解”声音

目录 前言 一、一枚“重磅炸弹”&#xff1a;开源&#xff0c;意味着一扇大门的敞开 二、揭秘MiDashengLM-7B&#xff1a;它究竟“神”在哪里&#xff1f; 2.1 “超级耳朵” 与 “智慧大脑” 的协作 2.2 突破&#xff1a;从 “听见文字” 到 “理解世界” 2.3 创新训练&a…

mysql出现大量redolog、undolog排查以及解决方案

排查步骤 监控日志增长情况 -- 查看InnoDB状态 SHOW ENGINE INNODB STATUS;-- 查看redo log配置和使用情况 SHOW VARIABLES LIKE innodb_log_file%; SHOW VARIABLES LIKE innodb_log_buffer_size;-- 查看undo log信息 SHOW VARIABLES LIKE innodb_undo%;检查长时间运行的事务 -…

华为网路设备学习-28(BGP协议 三)路由策略

目录&#xff1a; 一、BGP路由汇总1、注&#xff1a;使用network命令注入的BGP不会被自动汇总2、主类网络号计算过程如下&#xff1a;3.示例 开启BGP路由自动汇总bgp100 开启BGP路由自动汇总import-route 直连路由 11.1.1.0 /24对端 为 10.1.12.2 AS 2004.手动配置BGP路…

微信小程序中实现表单数据实时验证的方法

一、实时验证的基本实现思路表单实时时验证通过监听表单元素的输入事件&#xff0c;在用户输入过程中即时对数据进行校验&#xff0c;并并即时反馈验证结果&#xff0c;主要实现步骤包括&#xff1a;为每个表单字段绑定输入事件在事件处理函数中获取当前输入值应用验证规则进行…

openpnp - 顶部相机如果超过6.5米影响通讯质量,可以加USB3.0信号放大器延长线

文章目录openpnp - 顶部相机如果超过6.5米影响通讯质量&#xff0c;可以加USB3.0信号放大器延长线概述备注ENDopenpnp - 顶部相机如果超过6.5米影响通讯质量&#xff0c;可以加USB3.0信号放大器延长线 概述 手头有1080x720x60FPS的摄像头模组备件&#xff0c;换上后&#xff…

【驱动】RK3576-Debian系统使用ping报错:socket operation not permitted

1、问题描述 在RK3576-Debian系统中,连接了Wifi后,测试网络通断时,报错: ping www.csdn.net ping: socktype: SOCK_RAW ping: socket: Operation not permitted ping: => missing cap_net_raw+p capability or setuid?2、原因分析 2.1 分析打印日志 socktype: SOCK…

opencv:图像轮廓检测与轮廓近似(附代码)

目录 图像轮廓 cv2.findContours(img, mode, method) 绘制轮廓 轮廓特征与近似 轮廓特征 轮廓近似 轮廓近似原理 opencv 实现轮廓近似 轮廓外接矩形 轮廓外接圆 图像轮廓 cv2.findContours(img, mode, method) mode:轮廓检索模式&#xff08;通常使用第四个模式&am…

mtrace定位内存泄漏问题(仅限 GNU glibc 的 Linux)

一、mtrace原理 函数拦截机制&#xff1a;mtrace 利用 glibc 的内部机制&#xff0c;对 malloc() / calloc() / realloc() / free() 等内存函数进行 hook&#xff0c;记录每一次分配和释放行为。日志记录&#xff1a;记录会写入 MALLOC_TRACE 环境变量指定的日志文件中&#xf…

高校合作 | 世冠科技联合普华、北邮项目入选教育部第二批工程案例

近日&#xff0c;教育部学位与研究生教育发展中心正式公布第二批工程案例立项名单。由北京世冠金洋科技发展有限公司牵头&#xff0c;联合普华基础软件、北京邮电大学共同申报的"基于国产软件栈的汽车嵌入式软件开发工程案例"成功入选。该项目由北京邮电大学修佳鹏副…

TOMCAT笔记

一、前置知识&#xff1a;Web 技术演进 C/S vs B/S – C/S&#xff1a;Socket 编程&#xff0c;QQ、迅雷等&#xff0c;通信层 TCP/UDP&#xff0c;协议私有。 – B/S&#xff1a;浏览器 HTTP&#xff0c;文本协议跨网络。 动态网页诞生 早期静态 HTML → 1990 年 HTTP 浏览…

上海一家机器人IPO核心零部件依赖外购, 募投计划频繁修改引疑

作者&#xff1a;Eric来源&#xff1a;IPO魔女8月8日&#xff0c;节卡机器人股份有限公司&#xff08;简称“节卡股份”&#xff09;将接受上交所科创板IPO上会审核。公司保荐机构为国泰海通证券股份有限公司&#xff0c;拟募集资金为6.76亿元。报告期内&#xff0c;节卡股份营…

Linux810 shell 条件判断 文件工具 ifelse

变量 条件判断 -ne 不等 $(id -u) -eq [codesamba ~]$ [ $(id -u) -ne 0 ] && echo "the user is not admin" the user is not admin [codesamba ~]$ [ $(id -u) -eq 0] && echo "yes admin" || echo "no not " -bash: [: 缺少 …

ChatGPT 5的编程能力宣传言过其实

2025年的8月7日&#xff0c;OpenAI 正式向全球揭开了GPT-5的神秘面纱&#xff0c;瞬间在 AI 领域乃至整个科技圈引发了轩然大波。OpenAI对GPT-5的宣传可谓不遗余力&#xff0c;将其描绘成一款具有颠覆性变革的 AI 产品&#xff0c;尤其在编程能力方面&#xff0c;给出了诸多令人…