使用“tcpdump”查看原始数据包

使用“tcpdump”查看原始数据包

尽管像 Snort 这样的工具可以出色地筛选通过我们网络的所有内容,但有时需要查看原始数据。为此,我们最好的工具是“tcpdump”。


使用 tcpdump 的最基本方法是简单地发出以下命令:

tcpdump

使用 -v 选项可以获得更详细的信息,使用 -vv 选项可以获得更多的信息。


有用的选项

假设您已登录到您管理的远程计算机。通常,您会使用 SSH。如果您运行“tcpdump”时不带任何选项,则输出将充斥着来自 SSH 连接的数据包。要避免这种情况,只需从输出中删除端口 22:

tcpdump not port 22

您可以使用多个不同的端口来实现此目的:

tcpdump not port 143 and not port 25 and not port 22

如果您想要执行相反的操作,即仅监视某个端口(这有利于调试网络应用程序),您可以执行以下操作:

tcpdump port 143

您还可以从网络上的特定主机获取数据:

tcpdump host hal9000

如果你的机器有多个网络接口,你也可以指定你想要监听的网络接口:

tcpdump -i eth1

您还可以指定协议:

tcpdump udp

您可以在 /etc/protocols 中找到协议列表。


保存输出以供以后使用

在某些情况下,您可能希望将输出重定向到文件,以便以后详细研究它或使用其他程序来解析输出。在下面的示例中,您仍然可以在将输出保存到文件的同时查看输出:

tcpdump -l | tee tcpdump_`date +%Y%m%e-%k.%M`

在上面的例子中,我们可以通过日期和时间来识别每个转储。这在处理一天中某些时间出现的问题时可能会派上用场。tcpdump

还有一个选项可以将其输出转储为二进制格式,以便以后读取。要创建二进制文件:

tcpdump -w tcpdump_raw_`date +%Y%m%e-%k.%M`

稍后,你可以让 tcpdump 读取该文件

tcpdump -r tcpdump_raw_YYYMMDD-H.M

您还可以使用程序 ethereal 打开原始转储并对其进行解释。我们将在下一节中详细讨论 ethereal。


需要注意的事项

tcpdump 为我们提供了有关往返于我们网络的所有数据包的信息。但这一切意味着什么?


将 Ethereal 与 tcpdump 结合使用

Ethereal 是一种也可用于捕获网络数据包的工具。安装后,您可以打开您制作的原始转储文件。它看起来像这样:

这样就更容易看到发生了什么。您可以看到源 IP 和目标 IP 是什么,以及数据包的类型。然后,您可以轻松排除可能遇到的网络问题并分析可疑行为。再补充一个轶事,当我在写这节课并解释我自己的转储时,我看到我的个人工作站上有一些奇怪的活动。我几乎定期查询世界各地不同 IP 的机器上的端口 32772。我为端口 32772 运行了一个特定的转储,如下所示:

tcpdump port 32772 -w dump_32772

我得到的结果确实很奇怪。即使在 Google 搜索之后,我也没有找到任何相关信息,所以我怀疑我可能感染了木马。我运行了“rootkit hunter”(下一节将详细介绍),但什么也没找到。最后,通过逐个关闭,我发现是 Skype,我一直都打开它。尽管这最终被证明是无害的,但我很高兴有 tcpdump 向我指出了这一点。

阅读原始输出

正如您所见,即使阅读 tcpdump 中所谓的“人类可读”输出也有点难以理解。请看以下示例,这是我刚从转储中抓取的一个随机数据包:

17:26:22.924493 IP www.linux.org.www > test.linux.org.34365: P 2845:3739(894) ack 1624 win 9648 <nop,nop,timestamp 326501459 24374272>

我们有一个对www.linux.org 的网络服务器请求。在时间戳之后,您会注意到主机名末尾有 .www(表示端口 80)。此信息将发送到请求主机 test.linux.org 的端口 34365。“P”代表 TCP“oush”功能。这意味着数据应立即发送。后面的数字 2845:3739(894) 中,2845 标记第一个数据包的八位字节数。数字 3739 是数据包发送的最后一个字节数加 1。数字 894 是发送的数据包的长度。其中“ack 1624”是 TCP 术语“确认”——即数据包已被接受,下一个预期的数据包编号是 1624。之后,我们看到“win 9648”,表示发送主机正在等待窗口大小为 9648 个八位字节的数据包。接下来是时间戳。

现在,如果您认为这有点难以解释,如果您使用 -x 选项,它将以十六进制输出包含数据包内容。这里您需要一位埃及古物学家来解释输出:

18:12:45.149977 IP www.linux.org.www > test.linux.org.34536: . 1:1449(1448) 
ack 487 win 6432 <nop,nop,timestamp 329284215 27156244>0x0000:  4500 05dc 6a81 4000 4006 493b c0a8 0006  E...j.@.@.I;....0x0010:  c0a8 0009 0050 86e8 8fa4 1d47 1c33 e3af  .....P.....G.3..0x0020:  8010 1920 b4d9 0000 0101 080a 13a0 7a77  ..............zw0x0030:  019e 5f14 4854 5450 2f31 2e31 2032 3030  .._.HTTP/1.1.2000x0040:  204f 4b0d 0a44 6174 653a 2054 6875 2c20  .OK..Date:.Thu,.0x0050:  3135

我们可以从输出中得知,这是一个 HTTP 请求。至于其余部分,它不是人类可读的,但我们放心,因为我们知道这是一个合法的数据包。使用这种格式的另一个优点是,即使我们无法准确解释这个数据包发生了什么,我们也可以将其发送给可能能够解释的人。最终,这是未经任何过滤就通过网络传输的原始数据。

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

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

相关文章

Redis 主从搭建简单教程

安装单机 首先拿到安装包 wget https://download.redis.io/releases/redis-7.0.15.tar.gz然后进行解压 tar -zxvf redis-7.0.15.tar.gz 然后创建一个文件夹myredis将原始配置文件进行备份 mkdir /myrediscp redis.conf /myredis/redis7.conf 将配置文件复制进去 最后使用vim编…

mysql的MyISAM存储引擎

MyISAM是MySQL的一种非事务性存储引擎,曾经是MySQL的默认存储引擎。虽然现在InnoDB成为了默认存储引擎,但MyISAM仍然有其独特的优势和适用场景。以下是对MyISAM存储引擎的详细介绍: 特性 表级锁定: MyISAM使用表级锁定,这意味着在对表进行读写操作时,会锁定整个表。读写…

室内也可以用北斗定位?还能用RTK?

室内卫星顾名思义&#xff0c;就是在室内有遮挡环境中的卫星定位技术&#xff0c;众所周知&#xff0c;目前全球几大GNSS定位系统已经很完善&#xff0c;但是GNSS有个致命的弱点&#xff0c;就是地面如果有遮挡就没有信号&#xff0c;在这样的条件下&#xff0c;在室内定位场景…

#微信#经验分享

七燕论文是一款非常好用的论文写作工具&#xff0c;不仅在查重降重方面表现出色&#xff0c;而且还具有方便、快捷的特点&#xff0c;是广大学生和研究人员的理想选择。 首先&#xff0c;七燕论文在查重降重方面非常靠谱。它能够帮助用户快速检测论文的原创度&#xff0c;提供…

使用selenium打开浏览器之后,有浏览器内部的提示设置默认浏览器等,怎么屏蔽或关闭这些提示

当使用Selenium打开浏览器时&#xff0c;可能会遇到浏览器内部的一些提示或弹窗&#xff0c;例如设置默认浏览器的提示。你可以通过配置选项或设置浏览器参数来屏蔽或关闭这些提示。 以下是针对不同浏览器的一些方法&#xff1a; 对于Chrome浏览器&#xff1a; 在创建Chrome…

RT_Thread内核源码分析(一)——CM3内核和上下文切换

目录 一、程序存储分析 1.1 CM3内核寻址空间映射 1.2 程序静态存储和动态执行 二、CM3内核相关知识 2.1 操作模式和特权极别 2.2 环境相关寄存器 2.2.1 通用寄存器组&#xff0c; 2.2.2 状态寄存器组 2.2.3 模式切换环境自动保存 2.2.4 函数调用形参位置 2.3 …

mysql INSERT INTO时的锁

mysql INSERT INTO时的默认锁 MySQL中的INSERT INTO语句默认使用的是表锁,而不是行锁。表锁是在执行INSERT INTO操作时直接锁定整个表,确保在同一时间只有一个线程可以对表进行写操作。 使用行锁来处理INSERT INTO操作 方式一 使用事务(BEGIN开启事务,COMMIT提交事务)…

SQL数据库创建用户及赋予权限

1.理论 创建登录名 CREATE LOGIN [登入名LoginName] WITH PASSWORD ‘YourPassword’; – 创建用户 CREATE USER [UserName] FOR LOGIN [登入名LoginName]; – 授予权限 GRANT EXECUTE ON [YourStoredProcedure] TO [YourUserName]; – 允许执行指定的存储过程 GRANT SELEC…

Petalinux 基础操作流程总结

Petalinux 工作环境&#xff1a; ● Petalinux 软件安装 ● “/bin/sh” 需要是 bash&#xff0c;系统默认可能是 dash&#xff0c;需要修改 ● 不能在共享文件夹创建 petalinux 工程 ● 使用 petalinux 命令前需要设置 petalinux 环境变量&#xff1a;source /settings.sh创建…

信息安全基础(补充)

&#xff09;的内容主要有数据备份、数据修复、系统恢复等。响应&#xff08;Respons&#xff09;的内容主要有应急策略、应急机制、应急手段、入侵过程分析及安全状态评估等。 面向数据挖掘的隐私保护技术主要解决高层应用中的隐私保护问题&#xff0c;致力于研究如何根据不同…

腾讯云 Web 超级播放器开发实战

目录 关于超级播放器 范例运行环境 开发前准备 设计与实现 初始化播放器 播放器重要属性设置 播放器实用事件 一些兼容性判断 浏览器支持 关于华为手机 实现代码 小结 关于超级播放器 腾讯云 Web 超级播放器 TCPlayer 可实现在手机浏览器和 PC 浏览器上播放音视频流…

域名地址是什么意思?

域名地址&#xff0c;通常简称为域名&#xff0c;是互联网上用于标识一个网站或网络服务的人类可读的名称。它相当于互联网上的门牌号码&#xff0c;使得用户能够方便地访问和记住网站的确切位置。本文将探讨域名地址的含义、其工作原理以及对网站的重要性。 域名地址的含义 …

android studio 导入github里的项目后提示:Add Configuration

原文链接&#xff1a;https://blog.csdn.net/weixin_45677723/article/details/125940912 从github上面clone项目&#xff0c;出现下图问题&#xff1a; 解决问题&#xff1a; 我这个的情况是因为多文件嵌套了&#xff0c;我用Android Studio打开的是A文件&#xff0c;而B项…

移除重复节点

题目链接 移除重复节点 题目描述 注意点 链表未排序链表长度在[0, 20000]范围内链表元素在[0, 20000]范围内 解答思路 使用Set存储访问过的链表中出现的节点值&#xff0c;当遍历到链表的某个节点在Set中出现过&#xff0c;则需要将该节点的前一个节点next指针指向该节点的…

你见过的最差的程序员是怎样的?

之前看过一个段子&#xff0c;也可能是真事。 题目是“你见过的最差的程序员是怎样的&#xff1f;” 底下有位匿名用户回答到&#xff1a;还是新人的时候&#xff0c;接手过一座屎山&#xff0c;奈何技术不足&#xff0c;也不敢乱动这座屎山&#xff0c;只好继续在屎山拉屎。…

MySQL字符串函数

1.ASCII(char)返回字符的ASCII值。 2.1个字符8个字节(byte)bit_length(str)表示的是返回字符串的字节长度即比特长度一个汉字2字符(16个字节) 3.concat(s1,s2..sn)即将s1,s2..sn连接成字符串。4.concat(sep,s1,s2,..sn)将连接的字符串用分隔符separater分 开连接。mysql> se…

InternLM2-Math-Plus全面升级,全尺寸最强的开源数学模型

总览 数学能力是大语言模型推理水平的重要体现。上海人工智能实验室在推出领先的开源数学模型InternLM2-Math的三个月之后对其进行了升级&#xff0c;发布了全新的 InternLM2-Math-Plus。升级后的 InternLM2-Math-Plus 在预训练和微调数据方面进行了全面的优化&#xff0c;显著…

FILE* file实际项目操作

遇到一个三维的二进制文件&#xff0c;通过FILE指针进行IO操作&#xff0c;并存入三维Mat中&#xff0c;通过二维Mat进行分层显示 一、打开文件 fopen_s(&file, "XXX.uint16_scv", "rb"&#xff0c;通过file文件指针打开XXX.uint16_scv文件&#xff…

【二叉树】非递归实现前中后序遍历

目录 前言 算法思想 非递归实现前序遍历 过程分析 代码 非递归实现中序遍历 过程分析 代码 非递归实现后序遍历 过程分析 代码 前言 1&#xff09;前序&#xff1a;根 左子树 右子树 2&#xff09;中序&#xff1a;左子树 根 右子树 3&#xff09;后序&#xff1…

邮箱调用接口的服务有哪些?怎么配置接口?

邮箱调用接口安全性如何保障&#xff1f;使用邮箱服务器的方法&#xff1f; 邮箱调用接口为各种应用和系统提供了便捷的电子邮件发送与接收功能。选择合适的邮箱调用接口服务可以大大提升工作效率和用户体验。本AokSend将探讨一些主要的邮箱调用接口服务。 邮箱调用接口&…