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

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

3天内不再提示

在Linux中如何使用tcp转储命令来分析网络

汽车电子技术 来源:嵌入式悦翔园 作者:JamesBin 2023-02-17 10:04 次阅读

前言

Tcpdump是用于分析网络和查找相关网络问题的出色工具。它会在数据包经过时捕获数据包,并向您显示网络上正在发生的事情和传入情况。该命令的输出显示在 STDOUT 上,也可以存储在文件中。

感谢开发人员,他们将Tcpdump保留为开源项目。它可以在Unix和Linux系统上免费获得。视窗有一个“微海外杠TCPDUMP用于视窗”变体,并带有相关的价格标签

tcpdump有一长串可用的选项。在本文中,我将重点介绍经常使用的核心选项。

检查可用接口

要检查要捕获的所有可用接口,请使用-D标志作为:

sudo tcpdump -D

这将列出系统上的所有接口,包括无线和有线接口等。该标志也可以获得相同的功能:--list-interfaces

sudo tcpdump --list-interfaces

图片

在这里插入图片描述

捕获特定接口的数据包

在不使用任何选项的情况下,Tcpdump 将扫描所有接口。该标志捕获来自特定接口的流量:-i

tcpdump -i <target-interface>

将 替换为要扫描的接口的名称。例如,在 接口 的情况下,此命令将作为:target-interfaceeth0

sudo tcpdump -i eth0

注意:从现在开始,我将使用 or 作为目标接口。因此,无论您在何处看到 -i 标志,它都将伴随界面或 eth0 eth1 eth0 eth1

预设捕获计数

该标志可用于预设要捕获的数据包数-c

例如,我们将此值设置为 4 以捕获四个数据包。在本例中,该命令将为:

sudo tcpdump -c 4 -i eth0

图片如果未指定计数,则将使用组合键或 手动中断捕获操作。ctrl+cctrl+z

在下面的文章中,我将根据需要将标志与其他标志一起添加。这将有助于我们清晰,轻松地理解命令的输出。-c

获取详细输出

要获取命令的详细输出,可以使用标志:tcpdump-v

sudo tcpdump -c 6 -v -i eth0

您可以使用更多标志 as 或 进一步提高详细程度。这将在终端上产生更详细的输出:-v -vv -vvv

sudo tcpdump -vv -i eth0

以 ASCII 格式打印捕获的数据

有时,我们可能要求 Tcp 转储输出采用十六进制或 ASCII 格式。我们可以使用 ASCII 格式以及 ASCII 和十六进制格式的选项来解决这个问题:-A- XX

sudo tcpdump -XX -i eth0

图片

在这里插入图片描述

捕获从特定源 IP 发送的数据包

如果要检查来自特定源 IP 地址的流量,请使用以下命令:

sudo tcpdump -i eth0 src address>

让我们将源 IP 作为并查看流量的详细信息192.168.56.11

sudo tcpdump -i eth1 -c 5 src 192.168.56.11

图片此处的计数 5 将仅捕获前五个数据包。

捕获发送到特定目标 IP 的数据包

如果要检查发送到特定目标 IP 地址的流量,请使用以下命令:

sudo tcpdump -i eth0 dst address>

让我们将目标 IP 作为并查看流量的详细信息:192.168.56.11

sudo tcpdump -i eth1 -c 5 dst 192.168.56.11

图片

在这里插入图片描述

将过滤选项与 Tcp 转储结合使用

这是缩小捕获数据范围以进行检查的好方法。这将消除不必要的流量并简化您的工作。为此,您可以根据主机、端口、协议和其他条件筛选流量。

让我们看看其中的一些:

端口号

如果要根据端口号过滤流量,例如端口 22,则按如下方式执行命令:tcpdump

sudo tcpdump -i eth0 port 22

此命令将捕获 TCP 和 UDP 流量。

协议

与端口指令类似,该指令根据特定流量过滤数据包捕获。在这里,您可以使用协议名称或协议编号作为参数值:proto

sudo tcpdump -i eth0 proto tcp
sudo tcpdump -i eth0 proto 6

令您惊讶的是,上面的两个命令是等效的。这是因为 是 TCP 的协议编号。6

主机过滤器

host 参数只是使用其 IP 过滤来自特定主机的流量:

sudo tcpdump -i eth0 host 192.168.56.10

这将捕获所有流量并从此主机流出。有趣的是,您可以将多个过滤器应用于主机,以针对特定类型的数据包流量。

例如:

sudo tcpdump -i eth1 -c 50 “(host 192.168.56.11) and (port 443 or port 80)"

图片在这里,我将不同的过滤规则合并到一个规则中。您可以看到此规则是过滤和流量。这是因为该规则包含端口 80443(公共网络端口)的筛选器。http https

保存捕获的数据

如果要将捕获的数据存储在文件中,可以这样操作。

sudo tcpdump -i eth0 -c 10 -w my_capture.pcap

图片将数据包计数保持在较小的值;否则,您可能需要手动停止该过程。

读取捕获的数据

您可以使用存储在文件中的数据与Wireshark或任何其他图形网络协议分析器进行分析。.pcap

您可以使用 tcp 转储本身来读取它。

tcpdump -r my_capture.pcap

图片上面的屏幕截图显示了上述文件的数据。my_capture.pcap

结语

希望您对如何使用不同的方式使用tcpdump命令有一个很好的想法。当您从远程无外设计算机捕获数据包时,这是最佳选择。

如果您想要一种更直观的方式来理解数据包捕获,请尝试使用Wireshark。

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

    关注

    14

    文章

    7553

    浏览量

    88732
  • 文件
    +关注

    关注

    1

    文章

    565

    浏览量

    24727
  • 数据包
    +关注

    关注

    0

    文章

    260

    浏览量

    24385
收藏 人收藏

    评论

    相关推荐

    Linux系统unlink命令的使用

    Linux 删除文件,我们通常使用 rm 命令。除此以外,还有另外一个命令,可以用于删除文件和链接,这就是 unlink
    发表于 09-13 14:29 2114次阅读

    Linux中使用tcp命令分析网络

    Tcpdump是用于分析网络和查找相关网络问题的出色工具。它会在数据包经过时捕获数据包,并向您显示网络上正在发生的事情和传入情况。该命令的输
    发表于 11-15 11:47 588次阅读

    用于分析可执行程序和内存命令行工具介绍

    Axf Tool 是桃芯科技一个用于分析可执行程序和内存命令行工具。该工具已集成到 ingWizard 的项目快捷菜单里。
    的头像 发表于 11-03 17:00 1267次阅读
    用于<b class='flag-5'>分析</b>可执行程序和内存<b class='flag-5'>转</b><b class='flag-5'>储</b>的<b class='flag-5'>命令</b>行工具介绍

    Linux的常用网络命令

    Linux的常用网络命令 Linux 的常用网络命令  计算机
    发表于 01-18 12:47 1181次阅读

    基于TCP/IP协议的网络连接网络管理命令

    通过本实验,初步掌握了TCP/IP设置,以及网络共享的基本知识,以及常用网络管理命令的使用。通过输入命令符,查询计算机的ip以及路由等相关信
    发表于 09-20 17:19 9次下载
    基于<b class='flag-5'>TCP</b>/IP协议的<b class='flag-5'>网络</b>连接<b class='flag-5'>网络</b>管理<b class='flag-5'>命令</b>

    linux命令无法使用怎么办

    linux命令无法使用是怎么回事?问题分析
    发表于 05-28 09:02 1898次阅读
    <b class='flag-5'>linux</b><b class='flag-5'>中</b><b class='flag-5'>命令</b>无法使用怎么办

    Linuxmail命令的使用教程分享

    在这里整理一下Linuxmail命令的使用。mail也是一个常用的命令,我们很多地方都要用到它,比如定时把系统状况或日志发送到我们的邮箱
    发表于 03-25 16:01 9次下载

    如何使用ip命令Linux中进行网络管理

    Linux,'ip'命令是管理网络方面最强大的命令之一。该
    发表于 05-31 12:25 369次阅读

    常用linux网络排查命令

    今天浩道跟大家分享linux网络运维中常见的命令,掌握好这些命令排查故障时将会游刃有余!
    发表于 06-25 10:49 807次阅读

    恒讯科技分析:如何使用cp命令Linux复制目录?

    复制目录是Linux的一项基本任务,它允许我们复制目录、创建备份或在不同位置之间传输数据。Linux复制文件和目录最常用的
    的头像 发表于 06-26 17:14 695次阅读

    linux free命令原理

    分析系统内核的内存信息显示内存使用情况。Linux系统,内核维护了一个内存统计信息表(或称为"proc"文件),其中包含了关于系统内
    的头像 发表于 11-08 11:23 557次阅读

    linux查看物理接口的命令

    Linux操作系统提供了多种命令和工具查看物理接口。在这篇文章,我们将详细介绍一些最常用和常见的命令,以及它们的用法和输出。 ifcon
    的头像 发表于 11-16 16:48 1264次阅读

    linux重启命令有哪些

    Linux是一种自由和开放源代码的操作系统,被广泛应用于服务器和嵌入式设备。Linux,有多种命令用于重启系统。
    的头像 发表于 11-17 09:49 2029次阅读

    linux系统修改ip命令

    Linux系统修改IP命令是掌握Linux网络管理的基础之一。Linux操作系统
    的头像 发表于 11-27 15:17 2091次阅读

    Linux上如何通过命令更改日期和时间?

    Linux上如何通过命令更改日期和时间? Linux上,我们可以使用
    的头像 发表于 01-16 17:10 2823次阅读