• TCP/IP协议配置与网络实用命令


    一、 实验环境
    在Windows10主机上用wireshark抓取WLAN网络上的数据包
    二、 实验结果与分析
    a) TCP/IP协议的安装与配置
    控制面板>>网络和Internet>>网络和共享中心>>连接>>属性>>点击TCP/IP进行安装

    本机通过DCPH协议随机获取IP地址,然后也自动获得DNS服务器地址。
    DHCP有三种机制分配IP地址: [2]

    1. 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。 [2]
    2. 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。 [2]
    3. 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
      DNS(Domain Name Server,域名服务器)是进行域名和与之相对应的IP地址转换的服务器。DNS中保存了一张域名和与之相对应的IP地址的表,以解析消息的域名。

    b) 常用网络命令的使用
    i. ipconfig
    输入ipconfig

    本机的IP地址查看“无线局域网适配器WLAN”部分,IP地址为172.26.212.53,其他的都是虚拟网卡的信息,当不使用网线上网时,本地连接和以太网部分会显示“媒体已断开连接”。
    输入ipconfig /all(仅截取无线局域网适配器部分)

    由于本机处于校园网内,所以DNS后缀为jnu.edu.cn,根据网上的资料:用户电脑名称上的DNS是用户加入有DNS服务器上的域后电脑自动加上去的,DNS后缀就是现在连接的这个网络的DNS,Intel(R) Dual Band Wireless-AC 7265是本机的无线网卡。

    物理地址即MAC地址,DHCP服务器启用并采用自动配置模式。

    ii. ping

    1. ping 180.97.125.228
      查看ip

    直接向180.97.125.228发送icmp数据包。

    1. ping www.oschina.net

    fn0wz54v.dayugslb.com是DNS解析的A记录,指向主机ip180.97.125.228(Linux主机dig命令查询)

    输入nslookup www.oschina.net

    由返回结果可知,ping 域名时,是从校园网的DNS服务器的缓存中获取关于www.oschina.net的域名解析回答的。
    在Linux系统主机上使用dig命令跟踪整个解析过程:

    可以看到www.oschina.net是 fn0wz54v.dayugslb.com的CNAME记录(别名记录)。

    利用wireshark抓包ping过程:
    1.向校园网的DNS服务器请求解析,查询www.oschina.net 的 A记录,及主机ip。

    DNS服务器192.168.10.8的应答,返回域名fn0wz54v.dayugslb.com及其指向的IP地址(过滤器条件ip.src == 172.26.212.53 || ip.src eq 192.168.10.8):

    本机对向fn0wz54v.dayugslb.com发送icmp数据包:

    完整过程(过滤条件ip.src == 172.26.212.53 || ip.src eq 192.168.10.8 || ip.src == 180.97.125.228):

    总结:

    • fn0wz54v.dayugslb.com是通过DNS的A记录解析到IP上,而www.oschina.net是DNS解析的CNAME记录,将被解析到fn0wz54v.dayugslb.com上。
    • A记录是把一个域名解析到一个IP地址,而CNAME记录是把域名解析到另外一个域名,而这个域名最终会指向一个A记录,在功能实现在上A记录与CNAME记录没有区别。
    • CNAME记录在做IP地址变更时要比A记录方便。CNAME记录允许将多个名字映射到同一台计算机,当有多个域名需要指向同一服务器IP,此时可以将一个域名做A记录指向服务器IP,然后将其他的域名做别名(即:CNAME)到A记录的域名上。当服务器IP地址变更时,只需要更改A记录的那个域名到新IP上,其它做别名的域名会自动更改到新的IP地址上,而不必对每个域名做更改。
    • 所以ping域名会比ping ip多一些DNS解析的过程。
    • ICMP协议与ping:ICMP 全称是 Internet Control Message Protocol,也就是互联网控制报文协议。ICMP 报文是封装在 IP 包里面,它工作在网络层,是 IP 协议的助手。
      • ICMP 包头的类型字段,大致可以分为两大类:
        • 一类是用于诊断的查询消息,也就是「查询报文类型」
        • 另一类是通知出错原因的错误消息,也就是「差错报文类型」

    类型0和8:回送消息
    回送消息用于进行通信的主机或路由器之间,判断所发送的数据包是否已经成功到达对端的一种消息,ping 命令就是利用这个消息实现的。
    可以向对端主机发送回送请求的消息(ICMP Echo Request Message,类型 8),也可以接收对端主机发回来的回送应答消息(ICMP Echo Reply Message,类型 0)。

    wireshark抓包分析
    发送的第一个icmp包,类型为8即回送请求包,序号为49

    返回应答包:类型为0,即回送应答,序号与所要应答的icmp包的一样。

    第二个icmp包,类型一样是8,序号+1

    应答包类型为0,序号同样+1:

    iii. tracert
    tracert -d 125.218.215.224

    Tracert -d www.jnu.edu.cn

    从左到右的5条信息分别代表了“生存时间”(每途经一个路由器结点自增1)、“三次发送的ICMP包返回时间”(共计3个,单位为毫秒ms)和“途经路由器的IP地址”(如果有主机名,还会包含主机名,加上d参数时不返回主机名)

    Tracert的工作原理:
    1.从源地址发出一个ICMP请求回显(ICMP Echo Request)数据包到目的地址,并将TTL设置为1;
    2.到达路由器时,将TTL减1;
    3.当TTL变为0时,包被丢弃,路由器向源地址发回一个ICMP超时通知(ICMP Time Exceeded Message),内含发送IP包的源地址,IP包的所有内容及路由器的IP地址:172.26.208.1;
    4.当源地址收到该ICMP包时,显示这一跳路由信息;
    5.重复1~5,并每次设置TTL加1;
    6.直至目标地址收到探测数据包,并返回ICMP回应答复(ICMPEcho Reply);
    7.当源地址收到ICMP Echo Reply包时停止tracert。
    可以看到每次都默认发送3个icmp包,对应命令行显示结果的三个返回时间,ttl从1开始递增,对应命令行返回的5次跳跃。
    iv. netstat

    1. 查看网络协议的统计结果 netstat -s

    2. 查看连接和侦听端口 netstat -n

    可以看到本机的多个端口处于监听状态,如49674、49679等;另外本机与ip 52.139.250.253建立了连接,对该ip进行查询得到如下结果,

    LISTENING:侦听来自远方的TCP端口的连接请求.
    ESTABLISHED:代表一个打开的连接。
    CLOSE-WAIT:等待从本地用户发来的连接中断请求
    3. 查看TCP 协议的连接netstat -p tcp

    1. route
      返回结果:
    • 第一块是设备上的接口列表,各种适配器的名称,包括虚拟接口
    • 第二块是Ipv4路由表
      • 第一列是网络目的地址。列出了路由器连接的所有的网段。
      • 第二行网络掩码列提供这个网段本身的子网掩码,而不是连接到这个网段的网卡的子网掩码。这基本上能够让路由器确定目的网络的地址类。
      • 第三列是网关。一旦路由器确定它要把这个数据包转发到哪一个目的网络,路由器就要查看网关列表。网关表告诉路由器这个数据包应该转发到哪一个IP地址才能达到目的网络。
      • 第四列接口列告诉路由器哪一个网卡连接到了合适的目的网络。从技术上说,接口列仅告诉路由器分配给网卡的IP地址。那个网卡把路由器连接到目的网络。然而,路由器很聪明,知道这个地址绑定到哪一个物理网卡。
      • 第五列是跃点数。测量本身是一种科学。该值越小的,可信度越高
      • 路由表显示“在链路上”,表示不需要通过路由器转发,可以直接与其通信的意思。

    三、 思考题
    a) TCP/IP协议中配置的“网关”的作用是什么?
    网关的作用是连通两个不同网络(子网掩码和主机ip相与的结果不同,则处于不同网络,或者说处于不同网段,相与的结果称为网络标识,是一个网络的标识),现代网关多数指的是路由器IP。
    b) 用ping检测网络故障点。
    a. 网络不可达代码为 0
    IP 地址是分为网络号和主机号的,所以当路由器中的路由器表匹配不到接收方 IP 的网络号,就通过 ICMP 协议以网络不可达(Network Unreachable)的原因告知主机。
    自从不再有网络分类以后,网络不可达也渐渐不再使用了。

    b. 主机不可达代码为 1
    当路由表中没有该主机的信息,或者该主机没有连接到网络,那么会通过 ICMP 协议以主机不可达(Host Unreachable)的原因告知主机。

    c. 协议不可达代码为 2
    当主机使用 TCP 协议访问对端主机时,能找到对端的主机了,可是对端主机的防火墙已经禁止 TCP 协议访问,那么会通过 ICMP 协议以协议不可达的原因告知主机。

    d. 端口不可达代码为 3
    当主机访问对端主机 8080 端口时,这次能找到对端主机了,防火墙也没有限制,可是发现对端主机没有进程监听 8080 端口,那么会通过 ICMP 协议以端口不可达(Port Unreachable)的原因告知主机。

    e. 需要进行分片但设置了不分片位(Fragmentation needed but no frag)代码为 4
    发送端主机发送 IP 数据报时,将 IP 首部的分片禁止标志位设置为1。根据这个标志位,途中的路由器遇到超过 MTU 大小的数据包时,不会进行分片,而是直接抛弃。
    c) 用ping测试网络连通性时,若返回以下结果:Destination host unreachable(目的主机不可达)。当路由表中没有该主机的信息,或者主机没有连接到网络,那么会通过icmp协议以主机不可达的原因告诉主机。
    d) “Time out”:往往是因为防火墙对icmp过滤了,比如ping facebook.com;再者就是目标主机不在线,或者路由器端口不允许ping.

    感谢阅读!

  • 相关阅读:
    linux文件属性基础篇
    Linux重定向符号(重点)
    linux---vim和grep
    linux目录文件与系统启动(3)/usr目录、/var目录和/proc目录讲解
    Linux 安装和 连接xshell
    shiro 快速入门详解。
    th 表达式的简单使用。
    springboot 分布式项目,子级项目各自的作用。
    springboot 配置百里香 thymeleaf?
    springboot 配置mybatis 配置mapper.xml
  • 原文地址:https://www.cnblogs.com/liulangbxc/p/14488402.html
Copyright © 2020-2023  润新知