本地主机提供的 HTML 正在被 ISP 修改

本地主机提供的 HTML 正在被 ISP 修改

昨天,我带着笔记本电脑去了一家当地餐馆,准备设置一个新的 Web 应用。我安装好服务器,并创建了一个简单的 HTML 页面:

<html>
    <body>Hello, world.</body>
</html>

我启动服务器(Jersey),然后发出以下命令以确保一切正常运行:

curl http://localhost:8080/assets/index.html

想象一下,当我看到返回的不是简单的文档而是下面的内容时我会多么惊讶:

<html lang="en" xml:lang="en"><!PAGEREF 1>
<head><title>Eguide</title>
<script type="text/javascript" src="/all/rootscript.js"></script>
<script type="text/javascript" src="/cobrandscript.js"></script>

</head>
<!--
/yp/home.htm
<a href="http://webmailtest.bellsouth.net" target=_top>Webmail test</a>
v. 2.8b srv24
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="refresh" content="0;URL=http://home.bellsouth.net">
</head>
<body>
</body>
</html>
<html>
    <body>Hello, world.</body>
</html>

我的文档位于底部,但在此之前,有一堆不知何故被注入的代码。我的第一个想法是在我的系统中 grep 一些包含在结果 HTML 中的字符串(例如grep -ri cobrandscript从根目录运行)。我的系统上没有可疑的文件。因此,我关闭了 wifi 并发出相同的 curl 命令。这一次,我的 3 行 HTML 文档被返回,没有任何添加内容。

看起来 ISP 正在将 HTML 注入到由本地主机提供的 HTML 文档中。

我的问题是:这怎么可能?这是由以下机构提供的内容:本地主机;这意味着对本地主机的请求实际上正在访问外部网络,至少在连接时是这样,这种行为在我看来是非常错误的。

答案1

听起来你正在使用代理服务器。即使你正在访问 localhost,如果你没有将代理设置配置为忽略 localhost,它将通过代理进行路由。你可能没有配置任何代理,它可能只是你所连接的网络分发的网络配置的一部分。

使用 curl --noproxy localhost, http://localhost:8080/assets/index.html

相关内容