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

news2024/12/23 11:40:05

前言

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 <source-ip-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 <source-ip-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。

👇点击下方公众号卡片获取资料👇

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

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

相关文章

LinkedIn最好工具-领英精灵有哪些批量加好友方法?

领英工具-领英精灵有哪些批量加好友方法 使用领英的人都会使用领英精灵&#xff0c;因为领英精灵是目前本土做得最好的领英工具&#xff0c;具有很多强大的功能。特别是拓展人脉方面&#xff0c;提供了很多批量加好友的方法。刚使用的新手可能不知道如何操作&#xff0c;下面就…

施耐德电气“创新开放日”走进中国软件研发中心 以软件与创新驱动产业“双转型”

来源 | 施耐德电气 2022年10月27日&#xff0c;施耐德电气在位于北京亦庄的中国软件研发中心举办“创新开放日”&#xff0c;充分展示其在中国深化研发的战略布局。当天&#xff0c;施耐德电气展示了该中心成立一周年以来的创新研发成果&#xff0c;并与合作伙伴共话软件发展趋…

【jsdoc-to-markdown】一步步实现js文件的文档生成

文章目录导读开发环境安装Vs code插件&#xff1a;Doxygen Documentation Generator效果优势jsdoc-to-markdown的使用了解 jsdocjsdoc-to-markdown安装创建测试文件example.jsjsdoc-to-markdown使用jsdoc-to-markdown踩坑&#xff01;&#xff01;&#xff01;参考资料导读 这个…

【C++】一文带你吃透string的模拟实现 (万字详解)

&#x1f308;欢迎来到C专栏~~ 模拟实现string (꒪ꇴ꒪(꒪ꇴ꒪ )&#x1f423;,我是Scort&#x1f393;&#x1f30d;博客主页&#xff1a;张小姐的猫~江湖背景快上车&#x1f698;&#xff0c;握好方向盘跟我有一起打天下嘞&#xff01;送给自己的一句鸡汤&#x1f914;&#…

生态流量智能终端机 水电站生态流量多媒体智能终端-视频叠加、数据采集、远程传输

平升电子生态流量智能终端机 水电站生态流量多媒体智能终端是一款集人机交互、视频叠加、4G路由、数据采集、逻辑运算与远程传输功能于一体的多媒体智能终端设备。 此款产品为水电站生态流量监测项目的专用产品&#xff0c;便于监管单位及时掌握水电站的流量下泄情况&#xff…

【Django框架】——19 Django视图 01 路由配置

文章目录一、视图介绍二、路由配置1. 配置URLconf2.编辑项目中urls.py&#xff08;根路由&#xff09;3.创建应用中 urls.py (子路路由)4.路由文件urls.py5.API讲解一、视图介绍 视图就是应⽤用中views.py⽂文件中的函数 视图的第⼀个参数必须为HttpRequest对象&#xff0c;还…

计算多张图片的移位距离

( A, B )---25*30*2---( 1, 0 )( 0, 1 ) 做一个二分类的网络分类A和B&#xff0c;让A和B的训练集中都有多张图片&#xff0c;用一种平均值的办法把多张图片等效成两张图片&#xff0c;统计两张图片的移位距离&#xff0c;并比较移位距离和迭代次数的关系。 设AB训练集都只有两…

Python编程 赋值,逻辑,位运算符

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.赋值运算符 1.基本赋值运算符 2.注意 二.逻辑运算符 1.逻辑运算符使…

【LeetCode】No.70. Climbing Stairs -- Java Version

题目链接&#xff1a;https://leetcode.com/problems/climbing-stairs/ 1. 题目介绍&#xff08;Climbing Stairs&#xff09; You are climbing a staircase. It takes n steps to reach the top. 【Translate】&#xff1a; 你正在爬楼梯&#xff0c;爬到山顶要走n步。 Each…

最受欢迎的职业榜单!医生还是程序员?

最受欢迎的男友职业排行榜终于更新了&#xff0c;医生荣归榜首成为了第一名。 出人意外的是&#xff0c;公务员竟然只排名第六。 榜单上可以看出程序员也霸榜&#xff0c;占据了排行前三的位置。 程序员相对于医生有什么样的优势呢&#xff1f; 首先是逻辑分析能力。 虽然医生…

CMSC5707-高级人工智能之自编码器Auto-encoders

这章讲述模型框架和概念的时间较多&#xff0c;好像并没有涉及过多的运算&#xff0c;重在一些概念的理解。 Traditional Autoencoder 传统的自编码器常用来进行图像去噪的任务&#xff0c;需要了解其模型架构和流程。 自编码器由两部分组成&#xff1a;从Noisy Input到Z称为…

【附源码】计算机毕业设计java学生社团管理系统设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Python Flask教程学习02

书接上文Python Flask教程学习01 文章目录Flask 教程Flask 会话Flask 消息闪现Flask 文件上传Flask 扩展/寻找扩展Flask 教程 Flask 会话 与Cookie不同&#xff0c;Session&#xff08;会话&#xff09;数据存储在服务器上。会话是客户端登录到服务器并注销服务器的时间间隔。…

jmap:java内存映像工具【详细】

目录jmap概述&#xff1a;jmap 命令格式jmap -heap mid-histo[:live] midjmap -finalizerinfo midjamp -dump:[live,] formatb,filejmap概述&#xff1a; jmap命令用于生成堆转储快照j。jmap的作用不仅仅是为了获取dump文件&#xff0c;它还可以查询finalize执行对垒、java堆和…

【转】推送消息推送机制

原文链接&#xff1a;推送消息&推送机制 - 知乎 消息推送&#xff08;push&#xff09;用一句话解释就是&#xff1a;服务端向客户端发送了一条消息&#xff0c;我们在通知栏、锁屏通知、微信消息等等之类的都是消息推送。 1/推送类型有哪些&#xff1f; 消息推送根据业…

2017年某高校848数据结构真题复习

数据是对客观事物的符号表示 元素之间的关系不同&#xff0c;通常由四类基本结构————集合&#xff0c;线性结构&#xff0c;树形结构&#xff0c;图状结构 算法的五个特性——出入确可穷 1个或多个输出0个或多个输入确定性可行性有穷性求下列程序段的时间复杂度 for(i1…

html制作一个酷炫的记事本(源码)

文章目录1.记事本风格和灵感1.1 设计灵感1.2 整体风格2.代码展示1.1 酷炫的记事本效果图1.2 主代码源码下载html制作一个酷炫的记事本&#xff08;源码&#xff09; 平时上班总有很多事要弄&#xff0c;到了下班以为都弄好了&#xff0c;结果缺忘记了几个。于是整了一个便签记事…

是德/安捷伦E5062A网络分析仪的常用技术及性能参数

网络分析仪作为一种测量网络参数的新型测试测量的仪器&#xff0c;直接测量有源或无源、可逆或不可逆的双口和单口网络的复数散射参数&#xff0c;以扫频方式输出各散射参数的幅度、相位频率特性&#xff0c;以供进行信号比较和再次利用&#xff0c;随着科技的发展&#xff0c;…

2.1.5操作系统之线程概念与多线程模型

文章目录为什么要引入线程什么是线程引入线程带来的变化及进程与线程的比较线程的属性线程的实现方式用户线程内核线程特殊的组合方式及重点注意多线程模型多对一模型一对一模型多对多模型为什么要引入线程 引入进程是为了让程序能够并发的执行&#xff0c;因为进程只能而引入线…

python每日学4:vscode的安装与基础使用

python开发常用的编辑器就是vscode, pycharm, 其他文本编辑器&#xff0c;我以前一直使用pycharm和国产的everedit. 但是&#xff0c;pycharm有点太笨重&#xff0c;everedit又太轻了&#xff0c;编译时经常出现字符编码集的错误&#xff0c;于是我就想换着使用下vscode. 首先是…