Articles of tcpdump

tcpdump – 防止解释/解码协议

有没有办法阻止(错误)解释捕获的数据包中的协议tcpdump ? 它假定来自端口4500 / udp的stream量始终是IPSecstream量,53 / udp是DNS查询等,并尝试对其进行解码。 这对我来说是个问题,因为我无法正确parsing输出。

如何获得每IP服务器的networking使用情况?

我想知道一个工具来以编程方式测量每个IP应用于服务器的负载(KB / s)。 到目前为止,tcpdump在告诉我每秒发送数据包的数量方面做得很好,但是我相信很多不会显示(以350KB / s的速度下载,而每秒仅输出150个数据包)。 我是这样做的吗? iftop将是完美的,但我需要一个程序,可以通过标准输出接口(没有ncurses)。

wireshark http POST

我想有一个HTTP POST请求方法CAPTUREfilter。 我知道很容易做到这一点显示filterhttp.request.method==POST但我需要tcpdump兼容。 我写了tcp dst port 80 and (tcp[13] = 0x18) 但这并不完美… tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354) 效果更好,但…包不被视为一个HTTP包,所以我不能做我的进一步显示filter… 有什么办法可以不显示frame,tcp,ip和http头信息,只有data-text-lines的字段值(POST的内容)? 或在tcpdump同样的事情,只有倾销张贴HTML表单内容?

tcpdump文件大小==stream量大小?

我创build了一个tcpdump文件: tcpdump -i eth0 host xxx.208.xxx.59 -n -s 0 -vvv -w /tmp/dump.dmp 持续时间约3小时。 这个文件现在有450 MB。 现在可以说IP xxx.208.xxx.59在3小时内产生了450 MB的stream量吗?

在一个linux机器上loggingnetworkingstream量,并实时传输到另一个机器上

我有一种情况,我想要捕获一个Linux机器上的所有networkingstream量(目前使用tcpdump),但将这些数据实时传输到另一个单独的(但连接的)networking上的Linux。 基本上我有 [network i'm curious about]—[eth0. Linux box eth1]—-[separate network]—[eth0 monitoring Linux box] 我现在正在做的是将所有内容保存到pcap中,并定期将pcap转移到监视Linux机器上。 这是有效的,但效率非常低,绝对不是实时的。 有没有办法让tcpdump保存pcap到一个数据stream,我可以代理到监控盒没有设置像NFS或SMB的东西? 我认为最好的方式是对tcpdump怀疑的Linux机器,而不想在监视器上提供一个可写的共享。 有任何想法吗?

在捕获过程中,tcpdump在UDP数据包中截断为1472字节的有用数据

我正在写一个与networking一起工作的应用程序。 为了执行一些testing,我需要重现一天之前的stream程。 但同时也不允许停止当前的工作倾听者。 我也不能重写现有的程序,以保存传入的stream量。 为了解决我的任务,我决定使用tcpdump。 我使用以下命令在目标机器上运行tcpdump: tcpdump -w capture.cap -n "dst host host.domain.com and port 5555" 当我用tcpick或scapy读取capture.cap。 我可以看到所有长于1472字节的有用数据被截断为长度为1472.但是在头文件中仍然写入了数据包的原始长度。 正如我可以判断,UDP数据包分裂为几个,然后再次连接。 但tcpdump可能会过滤掉所有没有标头的包(应该只出现在第一个包中) 有没有办法转储完整的UDP包?

使用tcpdump在代理上为主机转储rawdata

我试图保存原始数据通过我们的代理发送到一个特定的url。 我的一个朋友给了我一个使用tcpdump的提示,所以我开始阅读他们的页面。 但由于某种原因,我不能使用它。 我试过' tcpdump -c10主机my.very.specific.host.com '但我没有得到任何匹配。 是的=)我可以看到在server.log中有来自客户端的某种操作。 如果我使用' tcpdump -c10 ',我可以立即得到10行。 所以我想我很想理解“主持人”的概念? 我不能把它指向一个知识产权,因为它是一个networking服务器,可以处理许多不同的url。 这真的不是我的领域(程序员)所以,请原谅我简单的问题:)在此先感谢。 编辑1 感谢所有的帮助,是的..我应该更清楚地说明我的问题。 所以这里有一些“更多”的信息。 我想要做的就是将从我们的代理到手机的数据。 我这样做的原因是为了确保我们在发送到“移动运营商网关/代理服务器野性”之前就准确地发送了我们想要的内容(是的,他们倾向于修改更多的内容) 我感兴趣的信息是http协议。 所以我现在要做的是,我将尝试转储我们的代理和“公共”网卡上的移动运营商网关之间的信息。 幸运的是,移动运营商只有一个公共网关。 完了,走吧!

我如何嗅探/转储HTTP协议作为ASCII与tcpdump或altenative端口?

我需要查看一个应用程序如何发送,并通过它在本地主机上通信的http协议接收stream量(它有一个用.gz编码的embedded式端口)。我确定它是一些XML,它发送和接收,但我想嗅探它,然后分析它 这可能以某种方式与Tcpdump? 在那里我只能看到它连接,但不是实际的发送接收

寻找谷歌不寻常的交通

我们是一家小型互联网提供商。 为了获得Internet访问,我们使用NAT(每个公共IP 10-20个用户)。 最近我们遇到了谷歌拦截服务(captcha和full block),我们无法find适合我们用户的解决scheme。 不幸的是,我们找不到Google的任何官方build议和指示,解释了ISPpipe理员如何解决问题。 我们设法find的所有可能的原因是我们的客户可能使用的阻塞和方法。 但我们希望有机会在全球范围内解决这个问题,使我们的客户免于自己处理这个问题。 第一个想法是捕获目标IP为google.com(和您的本地Google域)的用户的数据包。 如果用户PC上的某些内容泛滥Google,那么它们会生成很多数据包。 例: # Find google.com IP $ host google.com google.com has address 216.58.209.206 # local google.com.ua has ip in the same network 216.58.209.0/24 # Capture 50k packets with google IP dst $ sudo tcpdump -i eth0 -nn dst net 216.58.209.0/24 -c 50000 > /tmp/dump.txt # Parse […]

tcpdump和拥塞窗口

嗅探HTTPstream量到我的(Linux)服务器,它似乎总是响应广告窗口大小为14。它不受影响,如果我更改默认的initcwnd大小(与IP路由),并不会增加,如果我下载大文件,即使速度增长。 这似乎没有多大意义。 你怎么解释我所看到的?