本系列博客以计算机网络相关实验为主,包括windows命令实验、wireshark实验、Packet Tracer路由交换实验,也是自己整个学习过程中的一个记录,望不吝赐教。


计算机网络实验02 windows命令实验之 tracert、arp 命令

  • 3 Tracert
    • 3.1 命令功能简述
      • 3.1.1 命令简述
      • 3.1.2 具体实现
    • 3.2 格式、参数及选项简述
      • 3.2.1 语法格式
      • 3.2.2 参数说明
    • 3.3 实验描述
      • 3.3.1 了解tracert命令的反馈信息,以tracert www.baidu.com为例
      • 3.3.2 探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态
      • 3.3.3 分析tracert背后原理
      • 3.3.4 分析访问不同网站的节点路径
  • 4 ARP
    • 4.1命令功能简述
      • 4.1.1 命令简述
      • 4.1.2 个人理解
    • 4.2 格式、参数及选项简述
      • 4.2.1 语法格式
      • 4.2.2 参数说明
    • 4.3实验描述
      • 4.3.1 运行 arp -a 命令查看当前的 arp 缓存
      • 4.3.2 使用 arp /? 命令了解该命令的各种选项
      • 4.3.3 假设当前网关的 IP 地址是 192.168.0.1,MAC 地址是 5c-d9-98-f1-89-64,请使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令设置其为静态类型的
      • 4.3.4 arp操作失败
      • 4.3.5为何缓存中常常有网关的信息?
      • 4.3.6将网关或其它计算机的 arp 信息设置为静态有什么优缺点?
      • 4.3.7 关于ARP欺骗的学习

3 Tracert

3.1 命令功能简述

3.1.1 命令简述

TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。

Tracert 命令用IP生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。它能够直观展现报文在转发的时候所经过的路径

Tracert基于ICMP协议来实现的。当网络出现故障时,用户可以使用Tracert确定出现故障的网络节点。

3.1.2 具体实现

首先,tracert送出一个TTL是1的IP数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL减1。此时,TTL变为0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息,包括发IP包的源地址,IP包的所有内容及路由器的IP地址。

tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert 再送出另一个TTL是2的数据包,发现第2个路由器… tracert 每次将送出的数据包的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个数据包抵达目的地。

当数据包到达目的地后,该主机则不会送回ICMP time exceeded消息,一旦到达目的地,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此会收到「ICMP port unreachable」消息,故可判断到达目的地。

如果TTL时间过了,它将打印出一系列的*号表明在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Tracert给TTL记数器加1,继续进行。

3.2 格式、参数及选项简述

3.2.1 语法格式

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

3.2.2 参数说明

参数 说明
-d 指定不将 IP 地址解析到主机名称。
-h maximum_hops 指定跃点数以跟踪到称为 target_name 的主机的路由。
-j host-list 指定 Tracert 实用程序数据包所采用路径中的路由器接口列表。
-w timeout 等待 timeout 为每次回复所指定的毫秒数。
target_name 目标主机的名称或 IP 地址。

3.3 实验描述

3.3.1 了解tracert命令的反馈信息,以tracert www.baidu.com为例

我的操作:
输入tracert www.baidu.com命令

通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的。
第1行内网ip,第2行内网ip
第4行中国 北京 北京市 电信,第5行中国 重庆 重庆市 电信,
第9行中国 广东省 广州市 电信,第10行中国 广东省 广州市 电信,
第11行中国 广东省 广州市 电信,第13行中国 广东省 广州市 电信。
我的分析:
左侧,1到13行的序号,这标明在我使用的宽带上,经过13个路由节点,可以到达百度的服务;
中间三列,表示我们连接到每个路由节点的速度,返回速度和多次链接反馈的平均值;
右侧IP,是每个路由节点对应的IP对应的位置,可通过http://ip.cn的ip详细查询了解;
*,在第3、7、8、12个路由节点上,返回消息是超时,这表示这个路由节点和当前我们使用的宽带,是无法联通的。原因多种,比如特意在路上做了过滤限制、路由的问题等,需要具体问题具体分析。
在追踪过程的 * 可能是由于请求没有回应,也可能是回应超时。

3.3.2 探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态

我的操作:使用浏览器访问 http://ping.pe/qige.io

3.3.3 分析tracert背后原理

1、源端(SwitchA)向目的端发送一个UDP报文,TTL值为1,目的UDP端口号是大于30000的一个数,因为在大多数情况下,大于30000的UDP端口号是任何一个应用程序都不可能使用的端口号。

2、第一跳(SwitchB)收到源端发出的UDP报文后,判断出报文的目的IP地址不是本机IP地址,将TTL值减1后,判断出TTL值等于0,则丢弃报文并向源端发送一个ICMP超时报文,该报文中含有第一跳的IP地址10.1.1.2,这样源端就得到了SwitchB的地址。

3、源端收到SwitchB的ICMP超时报文后,再次向目的端发送一个UDP报文,TTL值为2。

4、第二跳(SwitchC)收到源端发出的UDP报文后,回应一个ICMP超时报文,这样源端就得到了SwitchC的地址(10.1.2.2)。

5、以上过程不断进行,直到目的端收到源端发送的UDP报文后,判断出目的IP地址是本机IP地址,则处理此报文。根据报文中的目的UDP端口号寻找占用此端口号的上层协议,因目的端没有应用程序使用该UDP端口号,则向源端返回一个ICMP端口不可达报文,该报文含有目的端的IP地址10.1.3.2。

6、源端收到ICMP端口不可达报文后,判断出UDP报文已经到达目的端,则停止Tracert程序,从而得到数据报文从源端到目的端所经历的路径(10.1.1.2;10.1.2.2;10.1.3.2)。

3.3.4 分析访问不同网站的节点路径

我的操作:
输入命令tracert qige.io,tracert baidu.com访问两个网站

对比观察路径的前几个节点,前两个节点是一致的,出门最开始的路径是一样的。
我的分析:
数据包离开本网必须要经过网关,所以前面网关的跳是相同的。

4 ARP

4.1命令功能简述

4.1.1 命令简述

ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。

ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址。计算机上安装的每一个以太网或令牌环网络适配器都有自己单独的表。如果在没有参数的情况下使用,则 arp 命令将显示帮助信息。

4.1.2 个人理解

在网络访问层中,同一局域网中的一台主机要和另一台主机进行通信,需要通过 MAC 地址进行定位,然后才能进行数据包的发送。

而在网络层和传输层中,计算机之间是通过 IP 地址定位目标主机,对应的数据报文只包含目标主机的 IP 地址,而没有 MAC 地址。

因此,在发送之前需要根据 IP 地址获取 MAC 地址,然后才能将数据包发送到正确的目标主机,而这个获取过程是通过 ARP 协议完成的。

简言之,在以太网中,一台主机要把数据帧发送到同一局域网上的另一台主机时,设备驱动程序必须知道以太网地址才能发送数据。而我们只知道IP地址,这时就需要采用ARP协议将IP地址映射为以太网地址。

注意,一般认为ARP协议只使适用于局域网。

4.2 格式、参数及选项简述

4.2.1 语法格式

arp[-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr]]
[-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]]

4.2.2 参数说明

参数 说明
-a 通过询问当前协议数据,显示当前ARP项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项。
-g 与 -a 相同。
-v 在详细模式下显示当前 ARP 项。所有无效项和环回接口上的项都将显示。
inet_addr 指定 Internet 地址。
-N if_addr 显示 if_addr 指定的网络接口的 ARP 项。
-d 删除 inet_addr 指定的主机。inet_addr 可以是通配符 *,以删除所有主机。
-s 添加主机并且将 Internet 地址 inet_addr与物理地址 eth_addr 相关联。物理地址是用连字符分隔的 6 个十六进制字节。该项是永久的
eth_addr 指定物理地址。
if_addr 如果存在,此项指定地址转换表应修改的接口的 Internet 地址。如果不存在,则使用第一个适用的接口。

分清两个“地址”:

(1)TCP/IP的32bit IP地址。仅知道主机的IP地址不能让内核发送数据帧给主机。
(2)网络接口的硬件地址,它是一个48bit的值,用来标识不同的以太网或令牌环网络接口。在硬件层次上,进行数据交换必须有正确的接口地址,内核必须知道目的端的硬件地址才能发送数据。

4.3实验描述

4.3.1 运行 arp -a 命令查看当前的 arp 缓存

我的操作:
直接运行arp -a命令

ping 同学的IP,这里是192.168.43.246,使用 arp -d * 删除全部缓存,再次查看缓存。操作结果如下图所示。

可以看到arp缓存了同学的IP地址,清除缓存后,同学的IP地址也被清掉。

我的分析:
arp -a参数的含义就是通过询问当前协议数据,显示当前 ARP 项。如果指定 inet_addr,则只显示指定计算机的 IP 地址和物理地址。如果不止一个网络接口使用 ARP,则显示每个 ARP 表的项。
通过arp -a命令,可以读取到与IP地址对应的MAC地址关系表。
当电脑没有旁边的mac地址,在我ping了它的ip地址后我的缓存里就会有它的mac地址,类型为动态。

4.3.2 使用 arp /? 命令了解该命令的各种选项

使用命令 arp/?

分析说明:
arp -d参数的作用就是在你网络出现问题,IP地址发生冲突,其对应的MAC地址有误,那么我们就可以用arp -d命令来删除其中出问题的arp记录,然后重新添加新的arp记录,网络问题也就自然而然地得到解决了。
arp -g参数的含义用与-a相同。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来bai显示ARP缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。
arp -s参数的作用就是在办公网络或者是监控项目中,为了防止用户乱改IP地址或者遇到IP地址冲突,我们需要给IP地址绑定设备的MAC地址。只要下次出现网络故障,我们就可以用MAC地址定位到哪几台电脑。

4.3.3 假设当前网关的 IP 地址是 192.168.0.1,MAC 地址是 5c-d9-98-f1-89-64,请使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令设置其为静态类型的

一般而言,arp 缓存里常常会有网关的缓存,并且是动态类型的。

可以看出较初始arp缓存相比,添加了192.168.0.1地址,并成功设置为静态类型。

4.3.4 arp操作失败

执行arp -s操作时,执行arp -d *的命令时同样有此提示,返回提示:ARP项添加失败,请求的操作需要提升。

在查找资料时,有资料提示可以用netsh来进行,但是测试之后也并不能成功;因此之间采用最直接的方法,管理员权限打开cmder,再次输入此命令,成功!

4.3.5为何缓存中常常有网关的信息?

缓存中是主机曾经访问过的记录,访问其他地址需要网关信息,因此缓存中会存在网关的信息。如下图所示,192.168.43.1为自己本网网关。

4.3.6将网关或其它计算机的 arp 信息设置为静态有什么优缺点?

关于静态ARP与动态ARP相关概念简介:

静态ARP:指的是需要管理员手工指定建立AP-MAC映射表,需要管理员手工建立和维护。

动态ARP:指的是通过报文去学习ARP表项,不需要管理员手工建立和维护。

静态ARP表项长表项可直接用于报文转发。建立ARP长表项时,除了IP与MAC以外,还需要建立所在VLAN和出接口;当限定设备和用户在某个VLAN内通信时,使用长表项;短表项:短表项不能直接用于报文转发。如果用户希望向指定设备通信时,使用短表项

动态ARP表项老化:在一段时间内,如果表项中的ARP映射关系始终没有使用,则会被删除。通过及时删除不活跃表项,从而提升ARP响应效率。

静态ARP与动态ARP的对比,及设置为静态缓存的缺点

静态ARP表项通过手工配置和维护,不会被老化,不会被动态ARP表项覆盖。配置静态ARP表项可以增加通信的安全性。静态ARP表项可以限制和指定IP地址的设备通信时只使用指定的MAC地址,此时攻击报文无法修改此表项的IP地址和MAC地址的映射关系,从而保护了本设备和指定设备间的正常通信。

arp缓存中静态的将会被永久保存,而动态的一段时间不用的话就会被删除,arp协议是建立在网络中各个主机互相信任的基础上的,使用地址解析协议,可根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行从而提高效率,缺点是有长时间不用的静态缓存。

4.3.7 关于ARP欺骗的学习

ARP欺骗,又称ARP毒化或ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通

此种攻击可让攻击者获取局域网上的数据包甚至可篡改数据包,且可让网络上特定计算机或所有计算机无法正常连线。

ARP欺骗的危害

1、使同一网段内其他用户无法上网
2、可以嗅探到交换式局域网中的所有数据包
3、对信息进行篡改
4、可以控制局域网内任何主机

ARP欺骗攻击的检测与防御

检测:
1、网络频繁掉线
2、网速突然变慢
3、使用arp -a命令查看的网关mac地址与真实的网关mac地址不同
4、使用嗅探软件发现局域网内存在大量arp应答包

防御:
1、绑定mac地址
2、使用静态arp缓存表
3、使用arp服务器,通过服务器来查找arp转换表来响应其他机器的广播
4、使用arp欺骗防护软件

【计算机网络实验02】tracert、arp命令相关推荐

  1. 计算机网络实验一 常用网络命令操作

    计算机网络实验一 常用网络命令操作 文章目录 一.实验目的 二.实验环境配置 三.实验原理 四.实验方法与步骤 五.实验结果与数据处理: 六.讨论与结论 1.总结讨论 2.思考题 一.实验目的 (1) ...

  2. 计算机网络实验二:ARP欺骗

    计算机网络实验二:ARP欺骗 博客链接:https://www.blog.23day.site/articles/66 一.wireshark 要求:配置并使用wireshark,在无线环境下监听非本 ...

  3. 大学计算机实验报告一齐鲁工业大学,计算机网络实验一

    <计算机网络实验一>由会员分享,可在线阅读,更多相关<计算机网络实验一(7页珍藏版)>请在人人文库网上搜索. 1.计算机网络实验一.ARP协议分析实验 学校:齐鲁工业大学 学院 ...

  4. 计算机网络实验一:ping、ipconfig、netstat、tracert、arp命令

    文章目录 1. ping 1.1 简介 1.2 使用 2. ipconfig 2.1 简介 2.2 使用 3. netstat 3.1 简介 3.2 使用 4. tracert 4.1 简介 4.2 ...

  5. 计算机网络——网络基础_网络命令的使用(配置主机IP、ipconfig、ping、tracert、arp实战)

    实验二  网络基础_网络命令的使用 一.配置主机的IP地址 实验目的 1.能打开Windows 10的命令窗口,在窗口中执行命令. 2.掌握IP设置的基本方法. 实验装置和工具 一台连入本地局域网或互 ...

  6. 计算机网络原理nslookup、tracert、arp...命令详解(下)

    积累route.nslookup.tracert.arp.pathping.netsh命令- 文章目录 route nslookup tracert arp pathping netsh route ...

  7. 计算机网络实验一 网络命令

    文章主要用于保存实验报告 软件为H3C,环境为windows11. 实验目的: 通过实验掌握下列知识: ① 了解常用网络命令的工作原理,并掌握常用网络命令的使用. ② 了解双绞线的布线标准,掌握测线器 ...

  8. 计算机网络网络参数配置,【计算机网络实验:实验一主机系统网络参数配置与测试资料|实验一:网络常用命令的使用】_傻大方...

    傻大方摘要:[计算机网络实验:实验一主机系统网络参数配置与测试资料|实验一:网络常用命令的使用]实验目的:1.了解或掌握一些网络常用命令:2.掌握Ping.IPconfig.arp等命令的功能及一般用 ...

  9. 计算机网络基础ios指令,蔡少云——计算机网络实验:IOS命令基础及交换机基本配置.doc...

    <计算机网络实验>实验报告 学 院 管理学院 专 业 电子商务 年级班别 2013级1班 学 号 3213004774 学生姓名 蔡少云 指导教师 黄益民 成 绩_____________ ...

最新文章

  1. 一份520页的机器学习笔记!附下载链接
  2. 某程序员吐槽:潮汕女朋友狮子大开口要18万8彩礼,而且只能男友父母出,不能男友出!...
  3. Improving Lock Performance in Java--reference
  4. 我也谈javascript闭包
  5. 阮一峰react demo代码研究的学习笔记 - how is source code converted
  6. 2020.xilinx开发环境
  7. 潜谈IT从业人员在传统IT和互联网之间的择业问题(上)-传统乙方形公司
  8. 了解一下Golang的市场行情
  9. spring-boot报错循环注入报错:has been injected into other beans
  10. 设计模式(三): FACTORY工厂模式 -- 创建型模式
  11. 三星平板电脑html文件放在哪里,三星Tab3怎么连接电脑?三星Tab3平板电脑连接电脑的方法图解...
  12. html5指标源码,通达信牛股起爆点副图指标
  13. Jquery最常见的ajax写法
  14. 从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例
  15. axi_ddr_top
  16. 人类最早计算机阿西莫夫,“人类先知”阿西莫夫50年前的2014年6大预言
  17. 计算机工资表2017,2017事业单位工资标准表
  18. c语言 习题错题知识点(1) (关键字 合法数据类型 逗号运算符)
  19. 数据挖掘:基于规则的分类器Rule-Based Classifier
  20. HTML5吃豆豆游戏开发实战(三)2d碰撞检测、重构

热门文章

  1. 1.2.8 Excel做个滚动抽奖
  2. 三路DI和十路DO继电器输出,RS-485/232远程I/O模块 WJ71
  3. 如何构建一个高效且可伸缩的缓存
  4. 黑苹果2k显示器开启hidpi_黑苹果MAC系统1080P显示模糊问题处理
  5. 餐饮门店数字化转型|餐厅管理系统小程序
  6. 有没有Linux下好用的电脑遥控器阿?
  7. 京东自营小米旗舰店小米11 Ultra手机烧主板烧屏
  8. 计算机视觉:图像特征与描述大全 ,有代码(一篇博文带你简单了解完图像特征提取技术)
  9. 十几个CSS高级常见技巧汇总(虚线框、三角形、优惠券卡券、滚动条、多行溢出...)...
  10. 【经验分享】思维导图软件(完全免费+半收费)