我需要监测多久,它需要一个特定的网站作出回应时,解决。我想嗅探80端口的交通,但只有当有流量被交换的目标网站。我已经搜索过了,似乎pcapy或scapy是适合这份工作的工具,但它们似乎比我所需要的更深。我学习了以下脚本:
我想我需要改变
def __handle_packet(self, header, data):
# method is called for each packet by dispatch call (pcapy)
self._dispatch_bytes_sum += header.getlen() #header.getlen() #len(data)
logger.debug("header: (len:{0}, caplen:{1}, ts:{2}), d:{3}".format(header.getlen(), header.getcaplen(), header.getts(), len(data)))
#self.dumper.dump(header, data)以某种方式只解压缩/处理指定给目标站点的数据包。请注意,这是针对局域网上的Windows计算机的,浏览器启动流量是非常重要的。
有什么建议值得赞赏吗?
发布于 2012-08-17 16:26:24
替罪羊的问题是它不处理重新组装TCP流。您要寻找的HTTP很可能嵌入到TCP流中。引用文档:
Scapy基于刺激/反应模型。对于TCP堆栈,此模型不能很好地工作。另一方面,TCP流经常被用作一个管道来交换基于刺激/响应的消息。
就像你说的,替罪羊更适合低层的东西。例如,您可能会跟踪DHCP请求上的IP数据包。和许多网络工具一样,TCP的复杂性和基于流的特性意味着,一旦您跨越该层,就很难重新组装所有的东西,处理所有的重传和不边缘的情况,并一致地提取数据。
您可以使用curl或urllib之类的工具来查看响应返回所需的时间吗?
https://stackoverflow.com/questions/12009442
复制相似问题