【网络协议详解】——GNS3的使用(学习笔记)

这篇具有很好参考价值的文章主要介绍了【网络协议详解】——GNS3的使用(学习笔记)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

📖 前言:在IT领域,网络协议的理解和掌握是至关重要的。GNS3和Wireshark是非常实用的工具,它们可以帮助你深入了解TCP/IP协议和网络的运作情况。

【网络协议详解】——GNS3的使用(学习笔记)


🕒 1. 网络协议分析工具——GNS3

GNS3 是一款图形化的网络模拟软件。

  • 模拟器的核心是 Dynamips 程序,通过构建一个虚拟的环境来运行真实的路由器网际操作系统(Internet Operating Systems,IOS)。
  • GNS3 是 Dynamips 的一种图形化前端工具,提供了友好的用户界面。

支持的网络设备包括:Cisco 路由器、(1700/2600/2691/3600/3725/3745/7200)、防火墙(PIX、ASA)、入侵检测系统(IDS)、交换机、Juniper 路由器、甚至能连接到实际网络中,处理真实的网络流量。

🔎 GNS3安装和使用详细图文教程,避免各种烦人报错

这里讲一下遇到报错的两个解决方案,正常的话可以忽略下文。
【网络协议详解】——GNS3的使用(学习笔记)

禁用VirtualBox网卡(解决90%的问题):
网络和Internet设置 -> 更改适配器选项 -> VirtualBox Host-Only Network 右键 -> 禁用

【网络协议详解】——GNS3的使用(学习笔记)

②将DHCP改成静态IP(解决100%的问题):

【网络协议详解】——GNS3的使用(学习笔记)

1、按“Enter”键

【网络协议详解】——GNS3的使用(学习笔记)
2、按方向键选择“Networking”,之后按“Enter”键

【网络协议详解】——GNS3的使用(学习笔记)
3、按方向键将光标移到iface eth0 inet dhcp那里,如下图修改(改成静态)

【网络协议详解】——GNS3的使用(学习笔记)
4、按Ctrl + O保存,按“Enter”键,再按Ctrl + X重启
【网络协议详解】——GNS3的使用(学习笔记)
5、可以看到已经配置好静态IP了,接下来去VM设置一下

【网络协议详解】——GNS3的使用(学习笔记)
6、然后点“确定”,之后去设置点开“网络和Internet”,如下图修改
【网络协议详解】——GNS3的使用(学习笔记)
7、命令行 -> ipconfig 检查一下是否修改成功,之后命令行再ping一下看看是否正常

【网络协议详解】——GNS3的使用(学习笔记)
【网络协议详解】——GNS3的使用(学习笔记)
8、重启一下GNS3软件,看到绿色灯亮就是正常啦

【网络协议详解】——GNS3的使用(学习笔记)

🕘 1.1 快速上手

  1. 在工作区创建一个网络。
  2. 在工具栏中点击启动/恢复所有设备(Start/Resume all devices)按钮,启动所有设备。
  3. 在设备(路由器或计算机等)上单击右键,选择控制台(Console)命令,可打开一个连接到设备的 Telnet 配置窗口,在其中可执行设备命令。
  4. 在链路上单击右键,选择开始捕获(Start Capture)命令,之后会弹出Wireshark并捕获经过该链路的分组后进行分析。
  5. 用文件(File)菜单下的保存工程(Save Project)或将工程保存为(Save Project as)命令可将仿真拓扑及其设备配置保存到一个工程文件中(文件扩展名为gns3,不要使用中文命名)。这样再次用GNS3打开工程文件后,可恢复仿真网络拓扑和设备的配置信息。
    【网络协议详解】——GNS3的使用(学习笔记)

🕘 1.2 网际操作系统 IOS

网际操作系统(Internet Operation System,IOS)是Cisco 公司的交换和路由产品的软件平台,给不同需求的客户提供了一个统一的操作控制界面。

IOS 不仅支持标准的网络互联协议,如 RIP、EIGRP、OSPF、ISIS、BGP等,还支持大量 Cisco 私有的网络互联协议。

此外,IOS 还集成了如 Firewall、NAT、DHCP、FTP、HTTP、TFTP、Voice、Multicast 等诸多服务功能,是最为复杂和完善的网络操作系统之一。

IOS 的命令行接口(Command-Line Interface,CLI)是配置、监控和维护 Cisco 设备的最主要用户接口。

CLI 有多种模式:

  • user EXEC(用户模式)
  • privileged EXEC (enable)(特权模式,也称使能模式)
  • Global configuration(全局配置模式)
  • Interface configuration(接口配置模式)
  • ROM monitor(ROM监控模式)

用户模式

  • 用户登录到交换机、路由器时,就处于用户模式,用户模式下只有少量命令可以使用。

特权模式

  • 用户可以执行所有的 EXEC 命令。
  • EXEC 是 IOS 的命令解释器,用于解释和执行用户输入的命令。

全局 / 接口配置模式

  • 各种配置模式用于设置全局、接口或协议等的运行参数。
  • 参数可在特权模式下用 write 命令进行保存,当交换机或路由器重启后仍然有效。

ROM 监控模式

  • 用于设备恢复,当交换机或路由器由于 IOS 镜像或配置文件损坏而无法正常启动时,就进入 ROM monitor 模式。

当前可用的 CLI 命令集与所在的模式有关。

命令模式 访问方法 提示符 退出方法 用途
User EXEC 连接设备 Router> 输入命令logoutquit 改变终端设置
执行基本测试
显示系统信息
Privileged EXEC 在User EXEC 模式下输入命令enable(若设置了enbale密码,还需输入密码) Router# 输入命令disableexit,退回到UserEXEC模式 执行showdebug命令
向设备复制镜像文件
重启设备
管理设备配置文件
管理设备文件系统
Global configuration 在 Privileged EXEC 模式下输入命令configure terrminal(简写conf t Router(config)# 输入命令exitend,或按Ctrl+Z组合键,退回到Privileged EXEC 模式 设置设备全局属性
Interface configuration 在Global configuration模式下输入命令interface(简写int Router(config-if)# 输人命令exit退回到Global Configuration模式
输人命令end,或按Ctrl+Z组合键,退回到Privileged EXEC模式
设置指定端口属性
Line configuration 在Global configuration模式中下输入命令line vtyline console Router(config-line)# 输人命令exit退回到Global Configuration模式
输人命令end退回到Privileged EXEC模式
设置指定终端属性
ROM configuration 在privileged EXEC模式下输入命令reload,在系统启动前60s内按Ctrl+C组合键 >
或boot>或rommon#>
注:#代表行号,每出现一行新的提示符,行号加1
输入continue命令 设备无法加载有效镜像时,默认进入ROM monitor模式
恢复设备IOS镜像文件
密码重置

CLI 命令使用

  • CLI 命令关键字可缩写,只要当前已输入的命令字符能与其他命令相区分即可。
    • 例如,“configure terminal” 可简写为 “conf t”。
  • 输入命令时,按 Tab 键也可自动补全命令关键字
  • 在任何模式下输入问号“”,IOS 会列出当前可用的命令集。
  • IOS 还支持字帮助和命令语法帮助功能。
    • 输入命令关键字前面的若干字符后,紧接着输入问号“?”(注意之间没有空格),可以列出以已输入字符开始的所有可用的命令,这称为字帮助
    • 输入命令关键字(可缩写)后,再输入一个空格,然后再输入问号,IOS会提示后续的命令关键字或参数,这称为命令语法帮助
  • IOS 会记录过去最近输入的 20 条命令,可用上下箭头或Ctrl-P 和 Ctrl-N 重新显示历史命令并执行。
  • 几乎所有的配置命令前都可增加 “no” 关键字,用于执行与命令功能相反的操作。
    • 例如,“no shutdown”表示端口开启。
  • CLI 命令对字母大小写不敏感,但设置的各种密码是大小写敏感的。

🕒 2. Wireshark的使用

🕘 2.1 概述

Wireshark 是一款开源的分组嗅探工具(Packet Sniffer)。

  • 支持在多种网络接口上捕获分组
    • 如,Ethernet、PPP、SLIP、HDLC、WLAN、FDDI、ATM、Frame Relay、WLAN、Loopback、USB、Bluetooth、IrDA 等。
    • 受操作系统支持的限制,在不同系统上支持的网络接口类型有所区别。
  • 支持上百种协议的分组结构分析。

分组嗅探器包括两部分:

  • 分组捕获器(Packet Capture Library),用于复制从指定接口发送和接收的所有数据链路层帧;
  • 分组分析器(Packet Analyzer),用于分析捕获的分组。
    • 如,显示分组的协议层次及其字段内容、追踪 TCP流、统计协议分布、分组长度分布等。

【网络协议详解】——GNS3的使用(学习笔记)

从指定网络接口捕获分组时,需要将网络适配器(网卡)的工作模式设置为混杂模式(Promiscuous Mode),这样分组嗅探器就能复制到达该接口的(发送或接收)所有的数据链路层帧。

🕘 2.2 快速上手

【网络协议详解】——GNS3的使用(学习笔记)

分组列表窗口(Packet-Listing Window):

  • 位于主界面上部,显示了所有已捕获的分组;
  • 其中的每一行都是一个捕获的分组的概要信息,包括:分组编号(NO.,注意该编号是由 Wireshark 分配的,并不是分组任何协议的首部字段)、捕获时间(Time)、分组源地址(Source)、分组目的地址(Destination)、协议(Protocol,分组的最高层协议)、分组长度(Length,字节数)以及协议的相关信息(Info.)等。
  • 用鼠标单击某一列的标题,就可按该列排序分组的显示顺序。

分组首部详细信息窗口(Packet-Header Details Window):

  • 位于主界面中间;
  • 显示了在分组列表窗口中被选中分组的各层协议的详细首部字段信息,包括:数据链路层协议首部、IP 协议首部、传输层协议(如TCP或UDP)首部、应用层协议首部以及数据。
  • 显示的每一层协议的首部信息可通过点击协议名称前的符号展开或隐藏。

分组内容窗口(Packet-Content Window):

  • 位于主界面下部;
  • 以十六进制字符和 ASCII 字符格式显示了在分组列表窗口中被选中分组的全部内容
  • 工具栏和分组列表窗口之间是分组显示过滤器的设置文本框。在此可输入显示过滤器,选择要在分组列表窗口中显示的捕获分组。

在 GNS3 链路上点击右键,选择开始捕获(Start Capture)命令会自动启动 Wireshark。

  • 可通过配置设置成捕获分组但不启动 Wireshark。

在 GNS3 链路上点击右键,选择停止捕获(Stop Capture)命令,可结束分组捕获,但不会关闭 Wireshark。

此时可在 Wireshark 中对已经捕获的分组进行各种分析,还可以通过保存(Save)命令(在 File 菜单下)将捕获的分组存储到文件中。

Wireshark 支持将捕获的分组保存为多种格式的文件,如文本文件、pcap文件、enc文件、trc文件等。

Wireshark 捕获(Capture)菜单下包含有捕获控制命令和捕获选项设置命令等;

概要(Summary)菜单下包含有 Wireshark 提供的流量分析、统计等相关命令。

🕘 2.3 过滤器

有两种类型的过滤器(Filter):

  • 捕获过滤器(Capture Filter):用于在捕获分组时设置过滤条件,只有满足条件的分组才被捕获。
  • 显示过滤器(Display Filter):用于在分组显示时设置过滤条件,只有满足条件的分组才被显示。
    • 显示过滤器并没有丢弃任何捕获的分组,只是不显示不满足条件的分组。

这两种过滤器的语法不同。

捕获过滤器(Capture Filter)采用 libcap 过滤语法

一个捕获过滤器是一个简单表达式(Primitive Expression),或由一组简单表达式通过逻辑关联词“and”或“or”连接而成。

[not] primitive [and | or [not] primitive …]

🔎 libcap 语法

选择捕获(Capture)菜单下的选项(Options)命令可打开捕获过滤器设置窗口。

可在捕获过滤器按钮(Capture Filter)后的文本框中输入捕获过滤器表达式,或点击捕获过滤器按钮,在弹出的捕获过滤器窗口中选择已存储的表达式。

【网络协议详解】——GNS3的使用(学习笔记)

显示过滤器(Display Filter)由协议及协议字段满足的条件构成

  • 协议及协议字段名称都采用小写;
  • 条件:
    • 可以用比较运算符比较协议字段值,用比较结果作为过滤条件;
    • 可以用逻辑运算符连接多个比较表达式,构成复杂的显示过滤器。
  • 对 Wireshark 支持的每一种协议,分组首部详细信息窗口中列出的所有协议字段都可作为显示过滤器的设置字段。

比较运算符有两种表示方法:英文字符、类似于 C 语言运算符

英文字符 类 C 运算符 描述 例子
eq == 相等 ip.src == 10.0.0.5
ne != 不相等 ip.src != 10.0.0.5
gt > 大于 frame.len > 100
lt < 小于 frame.len < 1000
ge >= 大于或等于 frame.len ge 0x100
le <= 小于或等于 frame.len le 0x20

逻辑运算符

英文字符 类 C 运算符 描述 例子
and && 逻辑与 ip.src==10.0.0.5 and tcp.flags.fin
or || 逻辑或 ip.src==10.0.0.5 or ip.src ==192.1.1.1
xor ^^ 逻辑异或 tr.dst[0:3] == 0.6.29 xor tr.src[0:3] == 0.6.29
not ! 逻辑非 not llc
[…] 子字符串运算符,用于从字符串中截取子字符串。有多种语法格式。
  • eth.src[0:3] == 00:00:83
    • eth.src [1-2]== 00:83
      • eth.src [:4] == 00:00:83:00
        • eth.src [4:]== 20:20
          • eth.src [2] == 83
in {…} 成员运算符,用于测试协议字段值是否属于一个集合 tcp.port in {80 443 8080}

熟悉显示过滤器语法可以在主界面的显示过滤器窗口直接输入过滤器表达式。

不熟悉语法可通过过滤器表达式对话框来设置。

点击显示过滤器文本框后的(编辑)表达式按钮(Expression),可打开显示过滤器设置对话框。

【网络协议详解】——GNS3的使用(学习笔记)

字段名称(Field Name)窗口中以树形结构组织Wireshark支持的所有协议及其字段名称,这里列出的协议和协议字段都可用于显示过滤器表达式设置。
Wireshark支持上百种协议,可通过输入协议名称开始的若干个字符快速在树中找到协议节点。点击协议节点前的符号可展开节点,以子节点方式列出相应协议的所有字段的名称。
关系(Relation)窗口给出了可用于所选择协议字段的表达式运算符,其中除“是否存在”(is present)是单目运算符外,其他都是双目运算符。若选择双目运算符,需要在“值”(Value)文本框中输入协议字段的比较值。
预定义值(Predefined values)窗口中列出了Wireshark预先定义的一些协议字段值(类似于C语言中的枚举变量)。如果表达式中的协议字段有预定义的值,可在此选择而不用再输入。
范围(Range)文本框可输入一个或多个整数范围区间

🕒 3. 实操

一、 开启GNS3虚拟机,新建拓扑文件,在工作区添加一台路由器(c3745)、两台交换机和两台PC,按下图连接路由器、PC和交换机,开启设备。并按照下表进行IP地址的配置,将PC机和路由器的配置指令截图如下:

【网络协议详解】——GNS3的使用(学习笔记)

设备 接口 IP地址 地址掩码 默认网关
R1 F0/0 10.0.0.1 255.255.255.0 -
R1 F0/1 10.0.1.1 255.255.255.0 -
PC-1 E0 10.0.0.2 255.255.255.0 10.0.0.1
PC-2 E0 10.0.1.2 255.255.255.0 10.0.1.1
R1#conf t		# 进入特权模式
R1(config)#interface f0/0		# 指定接口
R1(config-if)#ip address 10.0.0.1 255.255.255.0		# 配置接口IP与地址掩码
R1(config-if)#no shutdown		# 开启接口
*Mar  1 00:04:57.427: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:04:58.427: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int f0/1		# 可以简写
R1(config-if)#ip add 10.0.1.1 255.255.255.0			# 简写
R1(config-if)#no shut  # 简写
R1(config-if)#
*Mar  1 00:06:30.191: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Mar  1 00:06:31.191: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
PC-1> ip 10.0.0.2/24 10.0.0.1			# /24就是地址掩码255.255.255.0
Checking for duplicate address...
PC1 : 10.0.0.2 255.255.255.0 gateway 10.0.0.1

PC-1> save
Saving startup configuration to startup.vpc
.  done
PC-2> ip 10.0.1.2/24 10.0.1.1
Checking for duplicate address...
PC1 : 10.0.1.2 255.255.255.0 gateway 10.0.1.1

PC-2> save
Saving startup configuration to startup.vpc
.  done

二、 在PC1上pingPC2:

PC-1> ping 10.0.1.2
10.0.1.2 icmp_seq=1 timeout
84 bytes from 10.0.1.2 icmp_seq=2 ttl=63 time=14.108 ms
84 bytes from 10.0.1.2 icmp_seq=3 ttl=63 time=18.045 ms
84 bytes from 10.0.1.2 icmp_seq=4 ttl=63 time=15.082 ms
84 bytes from 10.0.1.2 icmp_seq=5 ttl=63 time=14.043 ms

三、 在PC-1和S1的链路上点击右键,进行抓包分析,说明捕获到有哪些协议产生的数据包。使用捕获过滤器进行过滤,只保留ICMP协议数据包,将过滤条件写出,截图如下。

【网络协议详解】——GNS3的使用(学习笔记)

【网络协议详解】——GNS3的使用(学习笔记)


OK,以上就是本期知识点“GNS3的使用”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页文章来源地址https://www.toymoban.com/news/detail-432103.html

到了这里,关于【网络协议详解】——GNS3的使用(学习笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络协议详解】——PPP协议(学习笔记)

    用户计算机与ISP进行通信时,所使用的数据链路层协议通常就是点对点协议PPP(Point-to-Point Protocol)。PPP协议是目前使用最广泛的 点对点 数据链路层协议,也广泛应用于 广域网路由器 之间的专用线路。 在1999年公布的在 以太网 上运行的 PPPoE 协议,它使得lSP可以通过ADSL、电

    2024年02月08日
    浏览(37)
  • 【网络协议详解】——RIP协议(学习笔记)

    路由器接收到一个 IP 分组后: 从分组首部提取目的 IP 地址,检测目的地址是否属于某个直连网络,若属于则直接发送; 否则,在路由表中查找是否存在主机路由(静态或动态); 否则,在路由表中查找匹配的路由; 否则,在路由表中查找默认路由; 否则,丢弃分组,向源

    2024年02月04日
    浏览(39)
  • 【网络协议详解】——OSPF协议(学习笔记)

    开放最短路径优先 OSPF (Open Shortest Path First),是为克服RIP的缺点在1989年开发出来的。 “开放”表明OSPF协议不是受某一家厂商控制,而是 公开发表 的。 \\\"最短路径优先”是因为使用了Dijkstra提出的 最短路径算法 SPF。 OSPF是一种基于 链路状态选路算法 的路由协议。 链路状态

    2024年02月03日
    浏览(37)
  • 【网络协议详解】——FTP系统协议(学习笔记)

    将某台计算机中的文件通过网络传送到可能相距很远的另一台计算机中,是一项基本的网络应用,即 文件传送 。 文件传送协议FTP (File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。 FTP 提供交互式的访问 ,允许客户 指明文件的类型与格式 (如指明是否使用AS

    2024年02月07日
    浏览(45)
  • 【网络协议详解】——IPv6协议(学习笔记)

    更大的地址空间 :IPv6将IPv4的 32 比特地址空间增大到了 128 比特,在采用合理编址方法的情况下,在可预见的未来是不会用完的。 扩展的地址层次结构 :可划分为更多的层次,这样可以更好地反映出因特网的拓扑结构,使得对寻址和路由层次的 设计更具有灵活性 。 灵活的

    2024年02月07日
    浏览(41)
  • 【网络协议详解】——VLAN技术(学习笔记)

    VLAN技术把用户划分成多组逻辑的网络,组内可以通信,组间不允许通信。 二层转发的单播、组播、广播报文只能在组内转发。 为了实现转发控制,在待转发的以太网帧中添加 VLAN标签 ,然后 设定交换机端口 对该标签和帧的处理方式。 方式包括丢弃帧、转发帧、添加标签、

    2024年02月05日
    浏览(57)
  • eve-ng 2.0.3-112懒人版安装、GNS3 2.2.32安装包、思科ASA8.42 9.42 路由器C3600 C7200、IOU镜像、思科IPS入侵防御系统

    包含所有该用到的软件,都给你们直接总结好了 大体如下: 下载地址:mdfk下载站

    2024年02月12日
    浏览(57)
  • Linux 网络编程学习笔记——一、TCP/IP 协议族

    数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介(以太网、令牌环等)上的传输,不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为上层协议提供一个统一的接口。最常用的协议是 ARP(Address Resolve Protocol,地址解析协议)和 RARP(

    2024年02月02日
    浏览(74)
  • 「网络编程」传输层协议_ TCP协议学习_及原理深入理解(一)[万字详解]

    「前言」文章内容大致是传输层协议,TCP协议讲解,续上篇UDP协议。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) TCP( Transmission Control Protoco l)是一种面向连接的、可靠的传输协议,TCP全称为 \\\"传输控制协议”,TCP人如其名,要对数据的传输进行一个

    2024年02月16日
    浏览(38)
  • 「网络编程」传输层协议_ TCP协议学习_及原理深入理解(二 - 完结)[万字详解]

    「前言」文章内容大致是传输层协议,TCP协议讲解的第二篇,续上篇TCP。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 首先明确,TCP是面向连接的,TCP通信之前需要先建立连接,就是因为 TCP的各种可靠性保证都是基于连接的,要保证传输数据的可靠性

    2024年02月15日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包