问题标签 [tcpdump]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
7079 浏览

networking - 在像 tcpdump 这样的工具中,网络数据包究竟是什么时候被捕获的?

我使用的工具之一使用加密/解密通过网络发送数据。我正在修改工具,我需要确保数据实际上是以加密形式发送的。

Wiresharktcpdump是否是正确的工具?他们在传输过程中的哪个时间点捕获网络数据包?

0 投票
1 回答
532 浏览

tcp - 我可以在wireshark中显示tcp状态吗?

我使用 tcpdump 在客户端、代理和源服务器之间生成一些捕获。我想知道是否可以在wireshark中或通过一些参数在每个数据包中指示设备处于什么TCP状态,例如ip 10.20.30.34 -- CLOSE_WAIT等。

0 投票
1 回答
1792 浏览

bash - tcpdump - 忽略未知主机错误

我有一个从 bash 脚本运行的 tcpdump 命令。看起来像这样。

过滤器文件具有 IP 地址和主机名的组合。即主机 111.111.111.111 或主机 112.112.112.112 而不是(主机 abc.com 或主机 def.com 或主机 zyx.com)。

它工作得很好——只要主机名都是有效的。我的问题是有时这些主机名无效,遇到一个 - tcpdump 吐出

我认为使用 -n 选项它会跳过 dns 查找 - 但无论如何我需要它忽略未知主机并继续过滤文件。

有任何想法吗?

先感谢您。

0 投票
2 回答
655 浏览

linux - libpcap 到达间隔时间和调度程序

我正在研究网络流量特征。在处理收集的数据(由 tcpdump 捕获并保存到数据库中)时,我偶然发现了数据包(或流)到达间隔时间的奇怪现象:

从未观察到 35-170 微秒的到达间隔时间

当然,如果没有 DAG 卡(它会对数据包进行硬件时间戳),我就不能依赖低于毫秒的尺寸精度。尽管如此,我正在寻找一个原因,为什么在以下累积分布函数中存在这种差距:流量到达间隔时间的 CDF

我还绘制了使用特定 IAT 看到的流数:替代文字

我的数据基础包含 >13 个 Mio 流,因此这种差距不太可能是偶然存在的——我只是在寻找原因。

有没有。与调度有关? 我知道 linux 内核调度程序(是一个 debian 机器)使用 250Hz 的频率,因此每个滴答声是 4ms,这比我的 35-170µsec 的间隔要大 > 200。网卡是否有任何调度?有很多0µsec 的 IAT,所以我假设这些数据包是在彼此之后直接处理的。我可以想象我正在搜索的调度程序滴答时间约为 40 微秒,导致 IAT 为 0<x<40 微秒,然后完成捕获以外的其他事情(对于 120 微秒 = 3 滴答声),我只得到 > 120 微秒的滴答声。

你有一个线索,我怎么能解释这个差距?非常感谢!史蒂芬

0 投票
2 回答
2535 浏览

analysis - tcpdump 抓包文件分析

我在客户端/服务器之间生成了一些通信,并使用 tcpdump 捕获了数据包。现在我想分析这些数据包以测量延迟和一些其他信息,例如任何数据包丢失或 ack 丢失。有没有办法做到这一点。我试图用 perl 编写脚本来分析它。有一个 perl 实现调用 net::tcpdump。但是文档不是很详细。我不知道如何提取时间戳。任何想法将不胜感激。

0 投票
2 回答
33400 浏览

python - 子流程变量

所以这是我的脚本。除了一个关键目标之外,我一切都有效,使用原始输入。它允许我输入我想要的任何内容,但是当它保存文件或使用 ip/host 时,doe 实际上并没有做任何事情。当然它给了我数据包,但是来自本地主机而不是我输入的主机。

我怎么知道这不起作用是因为我的第一个原始输入是文件名,所以我进行了测试,当我在文件夹中查看我的脚本时,它会生成一个名为“原始”的文件,意思是它实际上并没有占用我的仅使用我的“X”中的内容输入...

所以我有几个机会来做这个:

这很棒,因为它实际上需要 -w 但现在将其保存为 rawhostip 而不是“raw”的输入。作为参考,这是命令在终端中的样子:

仅有的两个变量是 savename 和 wiki2 其余的都是命令工作所必需的。

使用此脚本,我收到此错误:

错误:

我迷路了。任何帮助都会很棒,是的,我知道在现场查看 subprocess 的文档:X,我需要一个人来教我,我不明白我在读什么。

我的问题是如何处理这些变量。

0 投票
3 回答
206559 浏览

android - 我可以使用 tcpdump 获取 HTTP 请求、响应标头和响应正文吗?

tcpdump通过执行以下命令来获取 HTTP 数据:

上述命令的结果:

  1. 标头,我认为是请求和响应标头。
  2. 不可读的数据。
  3. 网址GET /modules/mod_news_pro_gk1/cache/stories.ilbalad.ajayeb.strange-tractor.jpg

我需要一个更清晰的结果,例如可读的请求 > 响应标头 > 响应正文等。如何过滤我的结果?

0 投票
1 回答
488 浏览

objective-c - C 或 Objective-C 中的 TCPDump 输出是否有包装器?

我正在编写一个小实用程序Cocoa,我需要剖析该TCPDump工具的输出。
我开始编写自己的包装器来将输出转换TCPDump为可用且有意义的类,并意识到我不能成为第一个这样做的人。

有谁知道包装器CObjective-C分析输出TCPDump并可以帮助我更快地完成这项工作?

干杯

0 投票
1 回答
635 浏览

profiling - 如何测量我的 MPI 程序传输的数据量?

我正在使用可以在http://bccd.net/下载的 BCCD(可启动集群 CD)将其设置为集群的 24 台计算机上试验我的分布式集群算法(使用 MPI 实现)。

我编写了一个批处理程序来运行我的实验,其中包括多次运行我的算法,改变节点的数量和输入数据的大小。

我想知道每次运行我的算法时在 MPI 通信中使用的数据量,这样我就可以看到在改变前面提到的参数时数据量是如何变化的。我想使用批处理程序自动完成所有这些。

有人告诉我使用 tcpdump,但我发现这种方法有些困难。

首先,在每次运行我的算法之前,我不知道如何在我的批处理程序中调用 tcpdump(它是用 C++ 编写的,使用命令系统进行调用),因为 tcpdump 需要另一个终端与我的应用程序并行运行。由于网络使用交换机,我无法在另一台计算机上运行 tcpdump。所以我需要在主节点上运行它。

其次,我在进行实验时看到了 tcpdump 的流量,但我无法弄清楚 MPI 使用的端口是什么。它似乎使用了许多端口。我想知道用于过滤包。

第三,我尝试捕获整个包并使用 tcpdump 将其保存到一个文件中,几秒钟后该文件为 3.5MB。但我的整个实验需要 2 天。因此,如果我遵循这种方法,最终的日志文件将会很大。

理想的方法是仅捕获包标头中的大小字段并将其相加以获得传输的数据总量。这样,日志文件将比我捕获整个包时小得多。但我不知道该怎么做。

另一个限制是我无法访问计算机光盘。所以我只有内存和我的 4GB USB 闪存驱动器。所以我不能有巨大的日志文件。

我已经考虑过使用一些 MPI 跟踪或分析工具,例如http://www.open-mpi.org/faq/?category=perftools中提到的那些。到目前为止,我只测试了 Sun Performance Analyzer。问题是我想在 BCCD 上安装这些工具会很困难,甚至可能是不可能的。除此之外,这个工具将使我的实验需要更长的时间才能结束,因为它会增加开销。但如果有人熟悉 BCCD 并认为使用其中一种工具是一个不错的选择,请告诉我。

希望有人有解决方案。

0 投票
1 回答
237 浏览

tcp - tcpdump 总是过滤我的数据包

我已经使用 tcpdump 大约一个月了,最近,它已停止捕获任何未发送到或从运行 tcpdump 的计算机发送的数据包。我已将我的命令精简为:

我用 ifconfig 检查了我的接口,并且 en2 处于“PROMISC”模式。将特定主机指定为过滤器时,我只看到一些“arp”消息,但与网络中实际发生的情况相比什么都没有。

任何想法为什么会发生这种情况?如果有人可以提供一些建议,将不胜感激!

理查德

ps,抱歉重新发帖,我这次想注册!(新来的)