0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux网络分析tcpdump工作原理和应用

麦辣鸡腿堡 来源:编程修养 作者:程序员肖邦 2023-09-28 15:30 次阅读

在日常工作中遇到的很多网络问题都可以通过 tcpdump 优雅的解决:

  1. 相信大多数同学都遇到过 SSH 连接服务器缓慢,通过 tcpdump 抓包,可以快速定位到具体原因,一般都是因为 DNS 解析速度太慢。
  2. 当我们工程师与用户面对网络问题争执不下时,通过 tcpdump 抓包,可以快速定位故障原因,轻松甩锅,毫无压力。
  3. 当我们新开发的网络程序,没有按照预期工作时,通过 tcpdump 收集相关数据包,从包层面分析具体原因,让问题迎刃而解。
  4. 当我们的网络程序性能比较低时,通过 tcpdump 分析数据流特征,结合相关协议来进行网络参数优化,提高系统网络性能。
  5. 当我们学习网络协议时,通过 tcpdump 抓包,分析协议格式,帮助我们更直观、有效、快速的学习网络协议。

上述只是简单罗列几种常见的应用场景,而 tcpdump在网络诊断、网络优化、协议学习方面,确实是一款非常强大的网络工具,只要存在网络问题的地方,总能看到它的身影。

熟练的运用 tcpdump,可以帮助我们解决工作中各种网络问题,下边我们先简单学习下它的工作原理

tcpdump 是 Linux 系统中非常有用的网络工具,运行在用户态,本质上是通过调用 libpcap 库的各种 api来实现数据包的抓取功能。

图片

通过上图,我们可以很直观的看到,数据包到达网卡后,经过数据包过滤器(BPF)筛选后,拷贝至用户态的 tcpdump 程序,以供 tcpdump工具进行后续的处理工作,输出或保存到 pcap 文件。

数据包过滤器(BPF)主要作用,就是根据用户输入的过滤规则,只将用户关心的数据包拷贝至
tcpdump,这样能够减少不必要的数据包拷贝,降低抓包带来的性能损耗。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4983

    文章

    18294

    浏览量

    288568
  • Linux
    +关注

    关注

    87

    文章

    10992

    浏览量

    206742
  • 网络
    +关注

    关注

    14

    文章

    7251

    浏览量

    87447
  • 数据包
    +关注

    关注

    0

    文章

    231

    浏览量

    24095
收藏 人收藏

    评论

    相关推荐

    网络分析网络分析仪的详解

    网络分析网络分析仪是设计、调试、改进射频电路的最基本,同时也应该是最常用的手段和工具。掌握网络分析技术之后,射频通信电路的设计制作将更加富有趣味。 把网络分析仪比作射频领域的万用表毫
    的头像 发表于 05-02 09:46 2.4w次阅读

    矢量网络分析仪的工作原理

    网分,全称就是网络分析仪(Network Analyzer),根据其功能又分为矢量网络分析仪和标量网络分析仪,顾名思义,矢量网络分析仪就是能测器件的矢量性能,包括幅频特性和相位特性,标
    发表于 06-20 10:46 2521次阅读
    矢量<b class='flag-5'>网络分析</b>仪的<b class='flag-5'>工作原理</b>

    你不知道的网络分析仪的始祖有哪些?---安泰网络分析仪维修

    `五台网络分析仪“始祖”,你认识几个? 前段时间和一些老工程师聊天,说现在很多外国内的网络分析仪都是参考8410A工作原理框图。有兴趣的工程师,可以去查阅一些文献资料,可以看到非常详细的电路图
    发表于 04-24 10:28

    射频矢量网络分析仪的工作原理是什么?

    射频矢量网络分析是在所关心的频率范围内,通过激励--响应测试来建立线性网络的传输的阻抗特性的数据模型的过程。
    发表于 10-14 09:01

    网络分析仪的结构、工作原理及信号测试的方法

    测件响应信号进行处理,激励源和接收机工作频率的变化应该是同步变化的。网络分析仪是依靠锁相方法来完成该功能。网络分析仪的工作原理、结构及信号测试的方法
    发表于 07-08 14:35

    网络分析的基本原理,怎么使用网络分析仪?

    网络分析的基本原理网络分析仪的测量方法网络分析仪的结构怎么使用网络分析仪?
    发表于 04-12 06:57

    网络分析器,网络分析器原理是什么?

    网络分析器,网络分析器原理是什么? 网络分析器   具有发现并解决各种故障特性的硬件或软件设备
    发表于 03-22 11:25 1001次阅读

    网络分析仪基础

    什么是网络分析仪? 史密斯圆图 散射参数 高频器件特性 什么是网络分析网络分析仪硬件结构 网络分析仪内部框图 激励源 信号分离装置 接收机 显示处理单元
    发表于 01-17 17:08 97次下载
    <b class='flag-5'>网络分析</b>仪基础

    如何吧tcpdump网络抓包工具移植到嵌入式linux系统

    本文档的主要内容详细介绍的是如何吧tcpdump网络抓包工具移植到嵌入式linux系统详细资料合集免费下载。
    发表于 01-18 08:00 6次下载
    如何吧<b class='flag-5'>tcpdump</b><b class='flag-5'>网络</b>抓包工具移植到嵌入式<b class='flag-5'>linux</b>系统

    Linux网络必备技能tcpdump应用场景和基础原理与实战案例

    今天要分享的是 tcpdump,它是 Linux 系统中特别有用的网络工具,通常用于故障诊断、网络分析,功能非常的强大。
    的头像 发表于 03-19 11:55 2059次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>网络</b>必备技能<b class='flag-5'>tcpdump</b>应用场景和基础原理与实战案例

    Linux虚拟机之tcpdump命令操作详解

    Linux虚拟机之tcpdump命令操作详解
    发表于 08-12 09:50 23次下载

    网络行抓包分析工具tcpdump安装介绍

    概述 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将
    的头像 发表于 08-18 10:05 8173次阅读
    <b class='flag-5'>网络</b>行抓包<b class='flag-5'>分析</b>工具<b class='flag-5'>tcpdump</b>安装介绍

    tcpdump如何实现抓内核态的包

    态的包的呢?有的同学知道 tcpdump 是基于 libpcap 的,那么 libpcap 的工作原理又是啥样的呢。如果让你裸写一个抓包程序,你有没有思路? 按照飞哥的风格,不搞到最底层的原理咱是不会罢休的。所以我对相关的源码进行了深入
    的头像 发表于 10-08 10:34 2409次阅读
    <b class='flag-5'>tcpdump</b>如何实现抓内核态的包

    网络分析仪测量阻抗匹配的工作原理

    的差异。下面这篇文章中我们将为大家介绍一些网络分析仪的基础知识。   网络分析仪测量阻抗的工作原理 在我们使用网络分析仪时,往往会遇到阻抗匹配的问题,那么什么是阻抗,阻抗匹配的理想模型
    的头像 发表于 12-28 16:07 2269次阅读
    <b class='flag-5'>网络分析</b>仪测量阻抗匹配的<b class='flag-5'>工作原理</b>

    Linux网络分析tcpdump的基本用法

    我们先通过几个简单的示例来介绍 tcpdump 基本用法。 1. 不加任何参数,默认情况下将抓取第一个非 lo 网卡上所有的数据包 $ tcpdump  2.  抓取 eth0 网卡上的所有
    的头像 发表于 09-28 15:42 308次阅读