sim*_*son 7 linux unix url http
有一个很好的 Windows 程序(URL Snooper:http : //www.donationcoder.com/Software/Mouser/urlsnooper/index.html),它允许您查看机器上请求的所有 URL。
linux中是否存在任何此类程序(最好是命令行)
Arj*_*jan 12
看来 URL Snooper 不仅适用于机器上请求的 URL,还适用于隐藏在某些页面的 HTML 源中的 URL,这些 URL 还不一定被请求。对于后者,请参见超级用户处的“如何从文件服务器下载文件列表? ”。或者,在 Firefox 中查看菜单工具 » 页面信息 » 媒体,或使用诸如Video DownloadHelper或UnPlug 之类的附加组件。以下内容适用于查看实际请求的所有 URL。
命令行ngrep可以做到,但提供的详细信息可能比您想要的要多得多。
就像:它不会简单地向您显示输入到浏览器位置栏中的 URL,而是整个 HTTP 请求。(因此:在实际发出请求之前由浏览器解析的 IP 地址,然后是浏览器发送到该 IP 地址的 HTTP 请求。)并且:它还将为结果页面中使用的每个图像等显示这一点。
您可能需要安装ngrep,就像在 Ubuntu 的默认安装上一样:
sudo apt-get install ngrep
要捕获到端口 80 的所有 HTTP GET 请求:
sudo ngrep -W byline -qilw 'get' tcp dst 端口 80
尽管如此,这仍会向您显示整个请求。(尝试自己,如果您是超级用户!)要限制更多输出以仅显示带有->,get或 的行host:
sudo ngrep -W byline -qilw 'get' tcp dst 端口 80 \ | grep -i " -> \|get\|host"
或者,捕获对端口 80 的所有请求,但忽略那些Referer设置了标头的请求(在请求嵌入图像等时设置,但也在单击网页中的链接时设置,因此只显示输入到浏览器位置栏中的请求直接,或在新窗口中打开,或从书签或电子邮件打开):
sudo ngrep -W byline -qilwv 'referer' tcp dst 端口 80 \ | grep -i " -> \|get\|host"
像Wireshark这样的嗅探器工具也有命令行选项。而且,顺便说一句,更基础的tcpdump是,它安装在大多数 Linux 发行版上:
须藤 tcpdump -Alfq -s 1024 \ 'tcp dst 端口 80 和 ip[2:2] > 40 和 tcp[tcpflags] & tcp-push != 0' \ | grep -i " > \|get\|host"