问题标签 [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 投票
1 回答
4995 浏览

python - 终止后从 tcpdump 子进程获取标准输出

tcpdump在这样的子进程中运行:

-w -参数很重要:它告诉tcpdump将生成的 .pcap 文件打印到stdout.

然后我继续使用urllib.open(). 完成此操作后,我想杀死tcpdump并将打印的任何内容放入字符串中。我尝试了以下方法:

但是(除非我做错了什么),这是行不通的;我杀死了这个过程,现在没有什么要读的了。如果我使用read()orcommunicate()在终止之前,我的脚本只会坐在那里继续阅读,等待tcpdump完成(它不会)。

有没有办法做到这一点(最好没有循环)?

0 投票
3 回答
1811 浏览

python - 重新组装 pcap 跟踪以恢复 HTTP 级别的数据

我有 tcpdump 跟踪,我想从中恢复重组 HTTP 请求和响应。有没有一个好的工具可以做到这一点。首选 Python,但如果 Python 解决方案不可用,则愿意编写包装器。

0 投票
1 回答
227 浏览

linux - 如何将网络接口或某个端口接收到的包保存在文件中,并在需要时重新发送接收到的包?

我正在Linux上的服务器服务程序上做我的工作,该程序处理发送到它所侦听的套接字的包。已经有一个旧的这样的服务在端口上监听它的工作,我无法停止旧的服务器服务,并且我需要将包发送到旧服务器并将它们发送到我的新服务器服务以确保它运行良好。我怎样才能获取包并将它们重新发送到我的新服务?是否有这样的工具,或者 tcpdump 等工具已经提供了一些功能?谢谢:)

0 投票
2 回答
20120 浏览

networking - tcpdump vs tcpflow(或“为什么 tcpdump ASCII 数据包数据不是人类可读的?”)

我两者都用过,我得出结论,我可以用 tcpflow 从网页中读取 html 数据,但不能用 tcpdump 读取。我得到的最好的结果是一些带有很多句点符号的丑陋 ASCII 文本。

我的理解是 tcpdump 不会重新组装数据包,而 tcpflow 会。但是,如果这是关键区别,那么来自 tcpdump 的数据包数据是否仍然是人类可读的 - 只是在更小的块中?问题是 tcpdump 仅限于 ASCII 并且大多数网络流量都以 UTF-8 编码吗?

我是网络分析/编程的新手,如果我遗漏了一些明显的东西,请原谅我。

0 投票
1 回答
596 浏览

network-programming - 为什么 libpcap 会捕获不完整的数据包?

我正在运行“tcpdump port 1025 -w out.pcap -s 4000”,所有从 localhost 发送的数据包我看到“在线上的 XXX 字节,捕获了 54 个字节”(仅捕获了以太网和 tcp 标头,未捕获数据)。显然,snaplen 是 4000,因此我无法弄清楚为什么数据包被切到了中间。我也写了一个程序,直接使用libpcap,也出现了同样的现象。这发生在 libpcap 1.1.1 和 1.2.0rc1 上,但是在 libpcap 0.9.8 上它起作用了!

我正在使用带有 SP3 的 SLE10,并在另一台计算机上安装了完全相同的操作系统和程序,它运行良好。

这是一个示例捕获

0 投票
3 回答
1351 浏览

audio-streaming - 在 Chrome Radio Player 扩展中播放 INDIE 103.1 流

谁能帮我找到INDIE 103.1 在线播放器的流媒体 URL ?我正在寻找一种直接通过Chrome Radio Player 扩展播放流的方法。我已经尝试过摆弄 tcpdump:

并找到了表单的请求

但是,尝试玩http://208.80.54.96//KDLDFMAAC?streamtheworld_user=1&nobuf=1315831486041似乎不起作用。


编辑1:

我发现http://208.80.52.108/KDLDFMCMP3通过 Chromium 直接访问时,URL 会播放流。但是,Radio Player 扩展不播放流。我从终端看到的只有

0 投票
3 回答
7778 浏览

mysql - 如何捕获网络数据包到 MySQL

我将设计一个用于 WiFi (802.11) 的网络分析器目前我使用 tshark 来捕获和解析 WiFi 帧,然后将输出传递到 perl 脚本以将解析的信息存储到 Mysql 数据库。

我只是发现我在这个过程中错过了很多帧。我检查并在管道期间似乎丢失了帧(当输出被传递到 perl 以在 Mysql 中得到 srored 时)这是怎么回事

(Tshark)--------帧丢失---->(Perl)-------->(MySQL)这是我将 tshark 的输出通过管道传输到脚本的方式:

这是我使用的 perl 脚本的简单模板 (tshark-sql-capture.pl)

任何可以帮助提高性能的想法都会受到赞赏。或者可能有一种替代机制可以做得更好。现在我的性能是 50%,这意味着我可以在 mysql 中存储我捕获的大约一半的数据包。

0 投票
1 回答
370 浏览

packet-capture - tcpdump 状态过滤

考虑我有两台主机 A 和 B。它们都有一个位于 80 端口的网络服务器。两台服务器都通过它们的网络服务器相互下载文件。A:some_port <--> b:80 和同时 A:80 <--> B:some_port。

如何运行 tcpdump 来捕获客户端为主机 A 或 B 的所有数据包?我不想有一个混合的转储文件,包括来自两个连接的数据包。

如果我使用:

我收到 A 和 B 之间的所有数据包。如果我将其更改为

然后我收到了错误的一半数据包。

你有什么建议吗?

0 投票
1 回答
1748 浏览

wireshark - UDP消息可以分片时使用tcpdump捕获特定端口

我正在运行 tcpdump 来捕获特定端口上的 UDP 消息。捕获的 UDP 流量包含分段的 UDP 数据包。

当遇到分段的 UDP 数据包时,tcpdump 仅捕获第一个分段。(可能是因为只有第一个片段包含端口信息)。

即使来自端口的消息被过滤,TCP 转储上是否有一个开关可以捕获 UDP 数据包的所有片段?

0 投票
1 回答
482 浏览

android - Android - 在 ad-hoc 模式下 tcpdump 的问题

目前我正在开发一个需要使用 Android 和 tcpdump 的项目。

我所做的简短描述:我想使用 android 嗅探数据包。我已经构建了一个通过“tcpdump”执行此操作的 android 应用程序。基本上,应用程序启动 tcpdump,它将捕获的数据包转储到一个文件中(在 sdcard 中)。然后我只通过打开文件来处理捕获的数据包。

问题:当 wifi 处于托管模式时,一切正常。但是,当我将 wifi 设备置于“ad-hoc”模式时,无线设备停止工作。

我正在使用“Samsung Captivated S”(SGH - I897),为了支持“偷听”(混杂模式)和临时我安装了最新的“Cyanogen 7”rom(cm_galaxysmtd_full-126.zip,来自:http: //download.cyanogenmod.com/?type=nightly&device=galaxysmtd )

我不知道如何解决这个问题,我真的需要你的帮助。我怀疑“wpa_supplicat”应该为此负责,但很可能我错了。

提前致谢,

Ps:我还应该提到我使用笔记本电脑启动了一个 adhoc 网络。然后两个 android 设备加入 adhoc 网络。安卓设备 (SGH-I897) 毫无问题地加入网络。所有设备都可以相互ping通。