`wget` 出错时如何获取更多日志

`wget` 出错时如何获取更多日志

wget我对GNU/Linux 中的工具有几个问题:

# wget http://www.jdfschool.com

--2019-04-05 02:33:44-- (Trys: 3) http://www.jdfschool.com/
Connecting www.jdfschool.com|115.28.223.13|:80... Connected.
An HTTP request has been issued, waiting for a response... Connection reset by peer.
Retrying.
  1. ConnectedinConnecting www.jdfschool.com|115.28.223.13|:80... Connected.代表TCP连接成功吗?

  2. 日志里看到了Connection reset by peer,有更详细的日志吗?我不知道重置问题的原因。

答案1

正如您正确假设的那样,80...已连接意味着(Web)服务正在侦听端口 80,并且您能够连接到它。

如果该网站在使用浏览器(以及其他 IP 地址)时运行良好,则connection reset by peer只会向您提供反馈,无论您尝试做什么,都不起作用。如果您想了解更多详细信息,可以尝试嗅探连接。

然而,如果没有向网站所有者询问日志/调试,我非常怀疑您是否会获得更多有关其重置背后原因的数据。

至于原因,可能是他们有规则不接受您的用户代理/蜘蛛/具有特定页面/或配置,故意引发该错误,或​​者在定义的时间范围(由他们定义)内尝试/页面后阻止您)。

正如之前所评论的,这更多地与特定站点的安全措施和配置相关,而不是 Unix 问题本身。

为了监听实际的 HTTP 请求,你也可以在你的机器上运行:

# ngrep -q "." "port 80"

或者

# ngrep -q "." "port 80 and host www.jdfschool.com"

ngrep请注意,根据配置、HTML、DNS 和基础设施设置,第二个将侦听所有 HTTP 请求并不是给定的。

正如@muru 在评论中指出的那样,使用

wget -v http://www.jdfschool.com

还可能输出更多有用的数据。

正如之前所说,准确查明发生原因的可能性很小。 (例如,在 Apache Web 服务器中,通常设置 mod_evasive 和 mod_security 来遏制蜘蛛/滥用行为)

TLDR 从网站所有者的角度来看,您的命令所发生的情况很可能是预期的行为。

相关内容