在审计公司网络中的分级企业站点时,有一个常见的问题。
如果您在内部工作,您首先使用VPN客户机连接到公司网络。然后,您需要运行审计工具来检查这些页面。
唯一有效的工具是那些你可以直接从你的电脑上运行的工具。例如,尖叫蛙蜘蛛,这是一个可下载的程序。
然而,许多企业站点有数百万的页面,由于时间限制或机器资源,从您的计算机进行爬行是不现实的。
企业基于云的爬虫,如deepcrawler, Ryte, oncrawler等,更适合这类工作。但是,他们不能审计私有网络内部的网站。
除此之外,这还遗漏了许多其他有价值的工具,比如来自谷歌和Bing的URL检查工具,它们对于审核javascript驱动的内容至关重要。
如果您在机构方面工作,您会遇到额外的麻烦,安全性和隐私遵从性现在是与企业合作的要求。在被认为是供应商之前,通常必须完成广泛的安全调查问卷。
专用网络中的准备站点中的内容可能还没有准备好向公众开放。
介绍SEO的网络管理工具
在前面的文章中,我已经提到了了解在开发和IT行业中使用的工具和技术的重要性。在本文中,我将继续说明这一点。
让我介绍几个网络和系统管理员熟悉的工具:ngrok和mitmproxy。
我们可以使用ngrok将私有(需要VPN的)url转换为临时和公共url。我们可以使用mitmproxy对页面进行更改,隐藏和/或混淆内容并保护其隐私。这需要编写简单的Python脚本。
代理和HTTP隧道
在开始使用这些工具之前,让我先介绍一下它们的基本概念。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling
“当浏览互联网的不同网络时,代理服务器和HTTP隧道为访问万维网上的内容提供了便利。代理可以位于用户的本地计算机上,也可以位于用户的计算机和Internet上的目标服务器之间的任何位置。这一页概述了一些基本的代理和介绍一些配置选项。
代理和HTTP隧道是中继请求/页面并使它们从一个源站点到另一个源站点可用的标准方法。请浏览链接文章以了解更多关于这个主题的内容。
Ngrok创建HTTP隧道,而mitmproxy是一个反向代理。
这是两个不同的用例,很适合解决我在开始时提到的问题。
使用Ngrok
Ngrok创建HTTP隧道,而且设置和使用非常简单。
假设您的登台站点是https://staging.internal-network.net:8080,您只能在使用VPN客户端连接后才能打开该页面。
您可以临时公开这个站点,以便验证谷歌搜索控制台和Bing网站管理员工具,并在公开的URL上运行URL检查工具(或企业爬虫)。
你可以这样做:
下载并安装ngrok为你的Mac或Windows电脑。
打开终端窗口并启动ngrok。
Ngrok是一个命令行工具,因此需要在shell中运行它并传递参数才能使它工作。
现在让我们创建HTTP隧道和临时URL。
./ngrok http stage .internal-network.net:8080 > ngrok.log 2>&1 &
这里我要求ngrok公开只能从我的计算机端口8080访问的web服务器。我添加了一些额外的命令来将任何错误记录到ngrok.log中,最后希望进程在后台运行,让我输入更多命令。
尾巴ngrok.log
我检查日志没有任何内容,这意味着它应该工作正常。接下来,我需要生成公共URL。
我需要对服务进行一个API调用,该调用将返回一个需要解析的JSON响应。我们将通过下载另一个方便的命令行工具jq来简化这一部分。
假设您还有curl,您可以使用这个命令获得临时URL。
curl -s http://localhost:4040/api/隧道口| jq “.隧道口[0].public_url”
你应该得到一个URL,你可以打开在你的网络浏览器像这样:
“https://f8139ca0f3b9.ngrok.io”
打开后,您将看到内部站点。试着在它上面使用丰富的测试工具(你得到的URL,不是这个例子),它应该可以工作。多酷啊?
因为你不拥有ngrok。io域名,你需要采取额外的步骤,以注册谷歌搜索控制台和Bing网站管理员工具。
您需要创建一个帐户并注册一个您控制的自定义域。
在创建隧道之前,需要进行身份验证。
。/ ngrok authtoken <标记>
然后,在创建隧道时添加另一个参数来指定自定义域。
./ngrok http -hostname=dev.yourdomain.com stage .internal-network.net:8080 > n