我试图保存原始数据通过我们的代理发送到一个特定的url。 我的一个朋友给了我一个使用tcpdump的提示,所以我开始阅读他们的页面。 但由于某种原因,我不能使用它。
我试过' tcpdump -c10主机my.very.specific.host.com '但我没有得到任何匹配。 是的=)我可以看到在server.log中有来自客户端的某种操作。
如果我使用' tcpdump -c10 ',我可以立即得到10行。 所以我想我很想理解“主持人”的概念?
我不能把它指向一个知识产权,因为它是一个networking服务器,可以处理许多不同的url。
这真的不是我的领域(程序员)所以,请原谅我简单的问题:)在此先感谢。
感谢所有的帮助,是的..我应该更清楚地说明我的问题。 所以这里有一些“更多”的信息。 我想要做的就是将从我们的代理到手机的数据。
我这样做的原因是为了确保我们在发送到“移动运营商网关/代理服务器野性”之前就准确地发送了我们想要的内容(是的,他们倾向于修改更多的内容)
我感兴趣的信息是http协议。
所以我现在要做的是,我将尝试转储我们的代理和“公共”网卡上的移动运营商网关之间的信息。 幸运的是,移动运营商只有一个公共网关。
完了,走吧!
您可能遇到不同接口的问题。 默认情况下,tcpdump只侦听它find的第一个以太网接口。 如果添加“-i any”,它将在每个接口上进行监听。
正如有人已经提到,你将最终捕获所有的stream量到一个特定的IP地址,无论你想要的DNS名称。 您可以通过进一步限制filter来减less捕获的数据量。 您可以添加一个端口并指定特定的远程主机或networking。
# tcpdump host 12.34.56.78 and port 80 and net 78.65.43.21/24
你可能会发现tcpflow对你更有用。 它会将TCP连接的每一端转储到一个单独的文件中。 您可以使用与tcpdump使用的filter相同的filter,也可以加载pcap文件。要保存pcap文件,请运行:
# tcpdump -s 0 -w /tmp/dump.pcap -i any host 12.34.56.78 and port 80
我会试着说出LapTop006所说的,但有一点不同。
当您运行tcpdump -c10主机my.very.specific.host.com命令时,tcpdump正在将“my.very.specific.host.com”parsing为IP地址并过滤到该IP的stream量。 如果DNS为“my.very.specific.host.com”返回多个IP地址,则tcpdump将仅返回该IP的第一个IP并过滤该IP。
如果“my.very.specific.host.com”只返回了less量IP,则可以执行以下操作:
tcpdump -c10 host 1.2.3.4 or host 2.3.4.5 or host 3.4.5.6
由于客户端只有一个IP地址,所以在客户端和代理之间而不是在远程Web服务器和代理之间捕获stream量会更容易。 (我想,如果你想看到的是远程Web服务器和代理的交互,但是,你需要捕获它,你的post不足以让我继续…)
我会尝试(内部)IP地址作为HOST参数。
顺便说一句,这里是一个教程http://linux.byexamples.com/archives/283/simple-usage-of-tcpdump/和备忘单(PDF )的所有选项。
tcpdump 总是工作在IP层,即使你给它一个DNS名称,它只是将它parsing为一个IP
您可以使用客户端的地址作为主机来考虑。
下一步是开始捕获完整的数据包到一个“pcap”文件,wireshark可以打开进行全面的分析。
除了别人所说的 – 使用IP,正确的接口,转储到pcap。
我会build议你摆脱-c10标志。 这指示tcpdump在收到正好10个数据包后退出,这可能不足以满足你想要查看的内容。
你想在服务于网页的机器上运行tcpdump。 不要使用主机地址; 无论如何,您只会捕获stream量。 您希望捕获到端口80上的所有文件,并且要确保捕获所有数据,而不是截断它。 你想要的命令是:
sudo tcpdump -w log.pcap -s 65535 port 80
如果您的机器具有多个以太网接口,则可能必须指定要用于捕获stream量的机器。 如果您发现自己没有捕获stream量,请使用ifconfig -a查看接口及其地址列表,select适当的接口并在命令行中添加-i eth1 (或其他接口)选项。
一旦你有一个pcap文件,你需要分析它。 对于交互式使用, Wireshark是一个很好的工具。 将pcap文件复制到您的工作站并运行wireshark -r log.pcap 。 您可以使用筛选器来查找具有“主机:some.server.of.interest.com”标题的数据包; 那些是感兴趣的虚拟主机的那些。 分析/跟踪TCPstream将以可读格式向您显示整个HTTP对话。
如果你想做自动分析,你可能不得不写一些自定义代码。 一个select是使用诸如tcpflow之类的工具将所有HTTP会话转储到文件,然后使用脚本语言(甚至grep)来select感兴趣的文件并分析它们。 直接读取pcap文件也不难,但是重新组装TCP对话还有很多工作要做。