网络环境测试

了解网络的工作原理,每个计算机之间是如何通讯的,这是一个非常抽象的过程。

写这篇文章之前,我没有做过这种实验,因为这些理论应该是已经印在脑海里的。我的理论是野生的,没人指点没人教,因此我不知道我心中的理论在实际的环境中是否正确。所以这篇文章是一篇实验记录文章,可能存在一定的知识缺陷,但是实验结果是事实存在的。实验之前我就已经把理论知识列在了草稿纸上,我会按照这些去做,模拟一个接近真实的网络环境。这次测试需要用到四个系统,一个是主系统(就是我电脑正在使用的win10系统),三个虚拟系统parrot,winXP和owasp靶机。

纯NAT模式关系拓扑

打开三个虚拟机系统

我这个电脑承受了这个价格不该承受的压力/xk

下面我把它们全部设置成了NAT网络模式。分别查看IP地址

  • 主系统IP:

  • Parrot系统IP:

  • Xp系统IP:

  • Owasp系统IP:

整理得到以下数据:

主系统IP 192.168.0.114
Parrot系统IP 192.168.248.144
Xp系统IP 192.168.248.130
Owasp系统IP 192.168.248.131

列出下来拓扑关系:以下全部是没有经过实践的猜测,下面要进行试验认证。

Ping测试

子网络之间相互ping

  • Parrot<===>xp
  • parrot<===>owasp

Ping测试通过证明子系统之间可以ping通

  • Parrot<===>主系统

同样可以ping通,使用其他子系统也同样可以ping通,这里就不再图示了。

  • Parrot<===>上层路由

同理NAT模式下他们都是可以ping通的

  • Parrot<===>我的手机IP(连在了上层路由)

这个就是路由作用了,路由表里记录了这些信息,查路由表查到了我的手机MAC,这些说明了在这个网络圈子里不管他的分支怎么样,下层的分支对上层都是可以ping通的

  • 主系统<===>三个虚拟系统

全部可以ping通。

只不过手机经过上层路由无法ping通这四个系统,但是这四个系统可以ping通手机,这个感到很疑惑,但是他们的网络肯定通了,只是某些环节可能出了问题。

Web页面验证

Owasp靶机上有个web项目,系统一运行他就会打开。下面进行访问一下,输入IP地址就可以访问了

  • Parrot访问:

访问成功说明xp也可以访问

  • 主系统访问:

可以访问。

只有手机访问失败了,原因是无法建立连接,要想成功使用手机访问就需要进行内网穿透。

总结一下:NAT模式相当于虚拟了一个DHCP服务器,给下面的子网分发IP,三个系统使用了一个网段,所以他们之间是处在一个内网中(通俗的讲是一个局域网)之间进行通讯很正常。主系统等于网关,网关和子网通讯也是很正常的。

主系统的上层是路由,所以主系统IP属于上层路由的子网,而手机又是上层路由分出的另一个子网,虽然这些系统能够ping通手机,可惜建立不起连接。(我暂时定义为两个子网直接无法正常通讯)。由于篇幅太长,验证只能明天进行,还有几个模型需要进行验证,因为网络比较复杂,在一台电脑里模拟真实环境更复杂。不过追寻的是真理。网络原理我也修过两门课,不过没有实践支撑的理论永远不是那么自信。

桥接模式测试

接着进行试验,上一次试验的是一条主线分出来几个NAT网络下的虚拟系统,试验结果使我们预想的,只是有个手机无法连接问题尚未清楚。这一次我们来模拟一下桥接模式的虚拟系统,首先说明一下,手机的IP段和我的主系统的IP段是一样的,这次模拟的桥接同理,他们都是处在同一层的。

第二个模型

设置好模式查看IP:

  • 主系统:

  • Parrot系统:

  • Xp系统:

  • Owasp靶机:

大概分类如下:

上层
主系统IP 192.168.0.114
Parrot系统IP 192.168.0.120
下层
Xp系统IP 192.168.248.130
Owasp靶机 192.168.248.131

拓扑关系如下图:

下面来验证一下同等级系统下的IP能否建立通讯

  • Parrot和主系统互ping:

相互无法ping通,和上面的拓扑图情况一样没有建立连接。其实这个是我根据上次实验的结果进行推测的。按道理来说同一个网段下应该可以互相ping通,就像NAT模式下三个系统在一个网段可以实现互通。可惜实验结果是能够单向ping通。

使用另外两个子网络验证

  • Owasp和parrot互ping

结果显然易见,单向ping通,和上面一个似乎有个共同点,都是parrot的问题。就像我昨天使用手机一样,NAT模式的三个系统都能ping通手机,就手机啥都ping不通,所以我猜测owasp的web界面parrot肯定访问不了

不出所料,完全无法访问。这个模型就验证了之前上个模型留下的疑问。

第三个模型

这个模型直接给出拓扑图

这次把owasp设置成桥接,并且没有点复制物理网络连接状态。(每次都是xp在下面/xk不是我欺负xp

因为他在这次实验应该是个打酱油的😂)

上层
主系统IP 192.168.0.114
Parrot系统IP 192.168.0.120
Owasp靶机 192.168.0.121
下层
Xp系统IP 192.168.248.130

之前的都不用验证了,直接看同等级的能进行web访问。

可以访问。

Parrot和owasp也能相互ping通。不知道你们有没有发现一个很奇怪的点,主系统也是同等级的,parrot和owasp都ping不通主系统,但是主系统却能ping通他俩。而且主系统能够访问web界面。哈哈是不是已经晕了。

我再使用xp系统,访问web

神奇吧,xp也能访问。在模型二中,parrot隔着一个主系统无法访问web,而在模型三中同样隔着个主系统xp却能访问到web。不用质疑这个就是实验结果。因为实践是检验真理的唯一标准。

总结:下层可以跨网段访问上层的主机,而上层无法跨网段访问下层主机。因为下层相对于上层来说是内网。同网段的不一定ping的通(估计是因为虚拟机环境问题,一般同网段能ping通)但是可以访问。实验到此结束,不管是多大多复杂的网络都是由这些小网络组成的,任何事都是这样,化繁为简寻找真理。我几百块的电脑能模拟四个环境也是不容易。赶紧关机休息会……

内网穿透

从前两次的实验来看,都知道处在内网(仅限实验环境的内网)的网络无法被外网(仅限实验环境的外网)访问,今天继续做个实验,让外网能够去访问内网搭建的应用,我听说这个叫内网穿透,其实本质是个端口转发。不过内网穿透这个专业性名词更加有逼格。

使用第二个模型的网络环境。

打开虚拟机,配置下图的环境:

我们已经验证过了,parrot系统是无法访问owasp靶机的web站点的,通过内网穿透能否实现parrot访问呢?我们来实验一下。

IP地址没有变,打开编辑=>虚拟网络环境编辑器

点击指定的网卡(就是owasp子网的网卡:192.168.248.0),点击NAT设置。

配置端口转发,在这之前要先确认好网关,将虚拟机IP(owasp)的端口设置转发为主机端口(端口可以不一致)。这样可以实现成访问主机IP这个端口时,转发为访问虚拟机的这个端口(每个主机端口只能转发一个虚拟机端口,在这之前需要把上面那个80端口删掉)。设置成如下图:

保存配置

使用主机访问自己,结果如下图:

但是我使用parrot访问owasp时仍然访问不了,咦!这就奇了怪了,是同一网段下啊,绝对不是理论问题,之前的实践也验证了,模型一中的NAT模式下,三台系统都能互相ping通,怎么到了真实网络环境下就变了呢?

之前也遇到了类似的情况,真实网络下同网段之间无法通讯。经过前两次模型遇到的问题和今天内网穿透遇到的问题,我迅速反应过来,这个是我自己系统的问题。防火墙没关(他把外界试图建立的连接墙了)。越是简单的点越是容易忽略(我遇到几次都是这个问题了,也是难改这个毛病)。

关闭防火墙后使用parrot访问主系统IP:

可以看到访问成功,接下来使用手机进行访问:

也成功了,显然易见,192.168.0为网段的网络已经实现了互通,前面ping不通的问题也迎刃而解。不过这又衍生了一个新问题:

之前总结的同网段可以实现互通,这个已经铁证了。但是跨网段,上层的网段不能访问下层网段的理论还能不能成立,跨过这个防火墙的鸿沟我也不知道会发生什么。

累了累了,明天再进行验证,估计我猜测的还是没毛病~~

网络环境总结

做了三天实验,基本上吧网络通讯的规律验证了一遍,网络原理是一个非常抽象的东西。通过理论学习我们只能怎么样能通,怎么样不能通讯。可是我们很难找到一个方法去真正实践(外网环境工作者除外)。

下面对上面遗留的一个问题继续解答:

Parrot系统IP:192.168.0.120

Owasp靶机IP:192.168.248.131

图中可以看出,无法ping通并且web无法访问,就算没开防火墙之前的理论也是成立的。所以上层网络无法访问下层,下层网络可以访问上层,要想让上层网络访问到下层必须要进行内网穿透。

下列图片是一年前整理的网络拓扑图

IP为10开头可容纳16777215台计算机,以172开头可容纳65535台计算机,以192开头可容纳254台计算机,这些IP都是内网。如果无公网ip的情况下进行渗透,得先从自己的内网中出去,找到对方的公网IP,再进入对方内网,进行逐层渗透。(自己感觉的,毕竟也没渗透过外网的个人计算机)

在网络世界里这些都是没有一个具体表现的,你无法看到除你之外的网络状态(毕竟我们都是普通人,高级的权限都掌握在运营商)。使用tracert命令可以有个较直观的网络展示:

这也只是一条线路,但网络是个复杂的网,里面有各种各样的环境,暗网(有接入口),暗网(没有接入口),私人网络,军用网络等等。我们(每个人)看到的都只是冰山一角落,最高峰的人也无法领略整个网络。

从开始接触到现在几年里都对网络是一股懵懂无知的状态,不管局部概念搞的多清晰,只要走出自己的网络环境就会失去方向。在这个圈子里只能靠时间打磨,天才花费的时间也比普通人少不到那里去,只管向前,你会发现这个世界是多么有趣。