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

Linux碎碎念:网络抓包利器:tcpdump 使用与分析入门

网络抓包利器:tcpdump 使用与分析入门

前言

hello,断更好久,最近入职音视频嵌入式应用开发,算是刚踏入这个大坑,完全是小白一枚。学习路线还是有点迷茫,有没有前辈可以让我在你经验中捡捡漏,少走点弯路呀。


在日常的开发和运维工作中,我们常常需要分析网络通信情况,例如调试 MQTT 协议、定位 HTTP 请求问题、检查设备和服务器之间的数据交互。这个时候,tcpdump 就是非常好用的一把“瑞士军刀”。

本文将从 tcpdump 的基本用法 开始,介绍如何 抓包并保存为文件,以及 如何在本地分析这些数据


一、什么是 tcpdump?

tcpdump 是 Linux/Unix 系统上最常用的网络抓包工具之一。它能够捕获经过指定网络接口的数据包,并以人类可读的方式显示,或者保存为文件(pcap 格式),方便后续分析。

相比 Wireshark 这种图形化工具,tcpdump 更轻量级,适合在服务器或嵌入式设备上使用。


二、tcpdump 的基本语法

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

常用参数:

  • -i <iface> :指定网卡接口(例如 eth0wlan0)。
  • -n :不解析主机名/IP,直接显示 IP 地址。
  • -nn :不解析主机名和端口号。
  • -X :同时显示报文的 ASCII 和十六进制内容。
  • -w <file> :将抓到的数据保存到文件(常用于后续分析)。
  • -r <file> :从文件中读取并分析数据包。

三、常见抓包场景

1. 抓取指定网卡上的所有流量

tcpdump -i eth0

2. 抓取某个端口的数据

例如抓取 MQTT(默认 1883 端口)的数据:

tcpdump -i eth0 port 1883 -nn

3. 抓取某个 IP 的数据

tcpdump host 192.168.1.100

4. 抓取并保存到文件

tcpdump -i eth0 port 1883 -w mqtt.cap

这样会把数据保存到 mqtt.cap 文件中,后续就可以下载到本地,用 Wireshark 打开分析。


四、如何分析抓到的包?

抓包只是第一步,关键是如何分析。常见方法有两种:

1. 在命令行直接查看

tcpdump -r mqtt.cap -nn -X

输出示例:

15:42:10.123456 IP 192.168.1.50.34567 > 192.168.1.200.1883: Flags [P.], length 450x0000:  4500 0045 6a2c 4000 4006 b1e6 c0a8 01320x0010:  c0a8 01c8 86a7 075b 1234 5678 90ab cdef0x0020:  5018 ffff 3c4d 0000 3132 3334 6865 6c6c0x0030:  6f20 6d71 7474

这里可以看到:

  • 报文头部信息(源 IP、目标 IP、端口号等)。
  • 报文的 十六进制数据ASCII 内容,方便查看是否有明文数据。

2. 使用 Wireshark 图形化工具

Wireshark 支持读取 tcpdump 生成的 .cap 文件,并提供:

  • 协议自动解析(HTTP、MQTT、DNS 等)。
  • 会话跟踪。
  • 图形化过滤和统计。

五、实战小技巧

  1. 只抓取前 N 个包,避免文件太大:

    tcpdump -i eth0 -c 100 -w test.cap
    
  2. 结合过滤器减少无用数据,例如只抓 TCP 并且端口是 1883:

    tcpdump tcp port 1883 -w mqtt.cap
    
  3. 限制包大小(只抓前 200 字节):

    tcpdump -s 200 -w short.cap
    
  4. 实时调试 + 后续分析结合:工作中一般会先用 -w 保存,然后再本地用 Wireshark 打开详细分析。

http://www.dtcms.com/a/475234.html

相关文章:

  • 十堰网站建设是什么塔罗牌手机网站制作
  • 北京网站制作费用wampserver安装wordpress
  • c可以做网站么公司网站域名无法解析
  • 做php网站教程视频住建部网站统计城乡建设统计信息系统登录
  • 风铃网站具体是做那方面的网站后台演示地址
  • 网站 建设 内容网站后台登录界面下载
  • 园林效果图网站兰州网站排名优化服务
  • Starting again-03
  • 探秘编译器背后的语言密码:从底层实现到技术演进的全景图
  • iis 里没有网站吗深圳的网站建设公司三把火
  • 肇庆企业建站程序evernote wordpress
  • JavaWeb学习-web开发什么是web开发
  • 专业开发网站企业net网站开发net网站开发
  • 最专业的企业营销型网站建设5分钟建站wordpress
  • JavaEE--Spring MVC
  • 建设网站简单的需要多少天网站开发技术要学什么软件
  • XCP协议在以太网上实现的配置
  • 榆林高端网站建设如何设计苏州做网站的公司有哪些
  • Go语言手搓深度学习的正向传播和反向传播
  • 【Swift】LeetCode 128. 最长连续序列
  • echarts6.0.0版本,平行坐标图形,series为多组时,横线溢出绘图区域,如何解决
  • 网站授权合同如何做好网站的建设与维护
  • 杭州市萧山区建设局网站江苏建设厅网站首页
  • 树莓派基础以及YOLOv8模型的应用
  • ueditor for wordpress太原百度seo排名软件
  • 网站左边logo图标怎么做网站开发需求分析怎么写
  • llm模型训练防遗忘与同义词训练理解
  • 晒豆网站建设新泰网页设计
  • ssh 密钥怎么配置不同网站用不同密钥,对应不同Git仓库以及帐号
  • 网站建设网站设计哪家专业企业管理系统的构成