当前位置: 首页 > 科技观察

如何在Linux上从命令行嗅探HTTP流量

时间:2023-03-21 12:10:21 科技观察

假设您出于某种原因想要嗅探网络上的实时HTTP网络流量(例如HTTP请求和响应)。例如,您可能正在测试Web服务器的实验性功能,或者您可能正在调试充分利用REST的Web应用程序或服务,或者您可能想要对PAC(代理自动配置)进行故障排除,或者检查来自网站任何恶意软件文件。无论出于何种原因,嗅探HTTP流量都会有所帮助,无论是对系统管理员、开发人员还是最终用户。虽然tcpdump等数据包嗅探工具广泛用于实时数据包转储,但您仍然需要建立合理的过滤机制,以便仅捕获HTTP流量;即便如此,它们的原始输出也无法在HTTP协议级别轻松解释。实时Web服务器日志分析工具(如ngxtop)提供了人类可读的实时Web流量跟踪,但仅当您对实时Web服务器日志具有完全访问权限时才适用。虽然拥有像tcpdump这样的嗅探工具是件好事,但它仅适用于HTTP流量。事实上,httpry正是我们需要的一款HTTP数据包嗅探工具。httpry可以实时捕获网络上的HTTP数据包,并以人类可读的格式显示HTTP协议层级的内容。在本教程中,我们将了解如何使用httpry嗅探HTTP流量。在Linux上安装httpry在基于Debian的系统(Ubuntu或LinuxMint)上,httpry不会出现在基本软件存储库中。因此,要使用其源代码构建它:$sudoapt-getinstallgccmakegitlibpcap0.8-dev$gitclonehttps://github.com/jbittel/httpry.git$cdhttpry$make$sudomakeinstall在Fedora、CentOS或RHEL上,您可以使用yum来如下所示安装httpry。在CentOS/RHEL上,首先启用EPEL存储库,然后运行??yum。$sudoyuinstallhttpry如果你仍然想在基于RPM的系统上从源代码构建httpry,这样做很容易,只需:sudomakeinstallhttpryhttpry的基本用法如下:$sudohttpry-ihttpry然后监听特定的网络接口并实时显示捕获的HTTP请求/响应。但是,在大多数情况下,由于进出的数据包数量很大,您会看到快速滚动的输出。因此,您应该将捕获的HTTP数据包保存起来以供离线分析。为此,请使用“-b”或“-o”选项。“-b”选项允许您将原始HTTP数据包保存到二进制文件,然后可以使用httpry回放。另一方面,“-o”选项将httpry的人类可读输出保存到文本文件中。想要将原始HTTP数据包保存到二进制文件:$sudohttpry-ieth0-boutput.dump回放保存的HTTP数据包:$httpry-routput.dump请注意:当您使用“-r”选项读取转储文件时,root权限是不需要。想把httpry的输出保存到一个文本文件:$sudohttpry-ieth0-ooutput.txthttpry的高级用法如果你只想监控特定的HTTP方法(如GET、POST、PUT、HEAD和CONNECT等),你可以使用“-m”选项:$sudohttpry-ieth0-mget,head如果你下载了httpry的源代码,你会注意到源代码附带了一系列有助于分析httpry输出的Perl脚本.这些脚本位于httpry/scripts/plugins目录中。如果您想编写自定义脚本来分析httpry的输出,这些脚本是很好的参考示例。其中一些功能如下:?主机名:显示唯一主机名和主机计数的列表。?find_proxies:检测网站代理系统。?search_terms:查找并计算在搜索服务中输入的搜索词。?content_analysis:查找包含特定关键字的URL。?xml_output:将输出结果转换为XML格式。?log_summary:生成日志摘要。?db_dump:将日志文件数据转储到MySQL数据库中。在使用这些脚本之前,请使用“-o”选项运行httpry一段时间。获得输出文件后,使用以下命令运行一次脚本:$cdhttpry/scripts$perlparse_log.pl-d./plugins您可能会遇到多个插件的警告消息。例如,如果您还没有创建带有DBI接口的MySQL数据库,db_dump插件可能会失败。如果插件无法初始化,它会自动禁用。因此,您可以忽略这些警告消息。parse_log.pl完成后,会在httpry/scripts目录下看到很多分析结果(*.txt/xml)。例如,log_summary.txt看起来是这样的:总而言之,如果您遇到需要解释实时HTTP数据包的情况,httpry可以提供很多帮助。普通的Linux用户可能不会经常解读实时HTTP数据包,但注意事项从来都不是坏事。你觉得这个工具怎么样?英文:http://xmodulo.com/2014/08/sniff-http-traffic-command-line-linux.html

最新推荐
猜你喜欢