zoukankan      html  css  js  c++  java
  • wireshark 路由过程理论分析

    下面是引用《Wireshark网络分析就这么简单》一书中的一个案例,结合这个案例来熟悉Wireshark的基本操作。

    首先提出问题:两个服务器A和B的网络配置如下图所示,B的子网掩码本该是255.255.255.0,被不小心配成了255.255.255.224,它们还能正常通信吗?

     

    这个问题看似简单,但却涉及了基本的路由选择原理,很能考验你的网络基础知识是否扎实。

    下面就先从理论上来分析一下这个问题,然后再用Wireshark抓包验证。

    网络中主机之间的通信基本可以分为两种类型:

    同一网络内主机间的通信:数据可以直接发送给对方,不需借助于网关。

    不同网络之间的主机通信:数据必须先发送给网关,然后再通过网关转发给对方。

    那么如何判断两台主机是否处于同一网络呢?这就是子网掩码的作用了。下面从服务器A和服务器B的角度分别来进行分析。

    (1)从A到B的通信

    A的子网掩码255.255.255.0,由此它得知自己所在网络的网络地址是192.168.80.0。现在它要发送数据给B,将B的IP地址192.168.80.3与A自己的掩码进行与运算,得知B所在的网络地址也是192.168.80.0,因而判断出B与自己在同一网络,可将数据直接发送给B。

    (2)从B到A的通信

    B的子网掩码255.255.255.224,由此它得知自己所在网络的网络地址是192.168.80.0。现在它要发送数据给A,将A的IP地址192.168.80.129与B的掩码进行与运算,得知A所在的网络地址是192.168.80.128,与B不在同一网络,因而必须要借助于网关将数据转发给A。

    因而可以得出结论:A可以直接将数据发送给B,而B却只能通过网关将数据转发给A。如果没有网关,A和B之间将无法通信。

    我们可以在Vmware中搭建一个实验环境,网络都选择NAT模式,在这种模式下Vmware会默认提供一个网关192.168.80.2。

    环境搭建好之后,按照前图所示为A和B设置IP,发现它们可以彼此ping通。但是如果将B的网关删除,那么它们就无法通信了,而将A的网关删除则没有任何影响,从而验证了我们上述的分析。在下篇博文中,将利用Wireshark抓包来进一步进行验证。

    原文地址:
    https://blog.51cto.com/yttitan/1733609

  • 相关阅读:
    python的thread模块作用
    Python2、3解释器inpurt()函数的区别
    python中的单例设计模式
    Python2、3解释器中字符串中的区别
    浏览器向服务器发送请求的请求头解析
    Python中输出函数print()的三个参数
    Python中四种交换两个变量的值的方法
    学习爬虫看着篇(基础篇)
    Python读写txt文件时的编码问题
    网页和自然语言处理中的字符问题(半角和全角)
  • 原文地址:https://www.cnblogs.com/superbaby11/p/15777688.html
Copyright © 2011-2022 走看看