使用tcpdump检测HTTP会话[关闭]


0

我有一个跟踪文件,我想找到在跟踪中成功访问的所有Web服务器,通过HTTP联系。

我正在使用:

tcpdump -r file.trace - tcp  port 80

也许我必须搜索一个向我发送响应数据包的服务器IP列表(我的意思是那些与我一起创建HTTP会话的服务器)。只是服务器,而不是其他TCP连接。我的意思是,我需要服务器IP来回应HTTP请求并发回HTTP响应。

我怎么能这样做?


如果使用GUI更容易,请记住许多工具可以读取这些捕获文件,包括Wireshark
Rich Homolka 2013年

@RichHomolka是的我知道但我需要tcpdump。
Arash 2013年

我不明白你关于删除连字符的说法。如果你拿出它怎么会失败?

我想找到在跟踪中成功访问过的所有Web服务器(即通过HTTP联系)。包括参与HTTP协议有效实例的所有服务器,即使返回的状态代码是例如404而不是200.
Arash 2013年

问题仍然存在:它如何失败?
Scott

Answers:


2
tcpdump -r file.trace - tcp dst port 80

正如您所发现的那样,不是有效的tcpdump命令。如果你删除额外的-,那么你得到

tcpdump -r file.trace tcp dst port 80

这是一个有效tcpdump命令,会告诉你唯一的交通 TCP端口80它不会显示你的流量 TCP端口80,这样,例如,如果file.trace有HTTP流量从80端口,它会告诉你的HTTP请求流量但不是 HTTP响应流量。

如果你想看到流量从80端口,使用

tcpdump -r file.trace tcp port 80

但是,如果除了进出端口80的HTTP流量之外还有TCP流量,那么也会显示。

此外,不会显示未通过端口80或来自端口80的HTTP流量,例如HTTP-over-SSL / TLS(“https”)流量或端口(如端口8080)的流量。例如,要查看到端口80(对​​于HTTP)和端口443(对于HTTPS)的流量,请执行此操作

tcpdump -r file.trace tcp port 80 or 443

什么是“不工作”?

它没有显示,例如,HTTPS流量?如果是这样,您需要添加端口443。

它没有向其他端口显示流量吗?如果是这样,您还需要添加这些端口。Tcpdump无法识别HTTP流量(Wireshark只能通过端口号识别它)。

它只显示请求,而不是响应吗?如果您想查看回复,请使用tcp port而不是tcp dst port。如果你只是想看到的请求,使用tcp dst port


tnx为您的答案,但我想获得向我发送响应数据包的服务器列表(我的意思是那些与我创建HTTP会话的服务器)。我的意思是服务器而不是其他TCP连接。我可以这样做吗?
Arash 2013年

我的意思是我需要响应http请求的服务器IP并发回http响应。在文件中写入此ips
Arash

那有什么问题?这与tcdump命令无关,它按设计工作。你的问题显然是对数据进行后期处理...

即,tcpdump并非旨在向您显示IP地址列表,它旨在向您显示数据包的分析。如果要将它们转换为IP地址列表,则需要处理tcpdump的输出,或使用其他工具。

@GuyHarris好吧。我怎么能检测到有效的http会话?
Arash 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.