Linux虚拟网络环境和Wireshark抓包软件
1、熟悉Vmware软件的使用;2、熟悉Linux操作系统的基本操作;3、学习Linux操作系统中安装软件的方法;4、熟悉Linux虚拟网络环境;5、学习Linux中network namespace的基本操作;6、学习Linux中虚拟以太网设备Tap和veth pair的基本操作;7、学习Linux中在NS内执行命令的方法;8、学习Linux中编写脚本程序的基本方法;9、学习Wireshark软
一、实验目的
1、熟悉Vmware软件的使用;
2、熟悉Linux操作系统的基本操作;
3、学习Linux操作系统中安装软件的方法;
4、熟悉Linux虚拟网络环境;
5、学习Linux中network namespace的基本操作;
6、学习Linux中虚拟以太网设备Tap和veth pair的基本操作;
7、学习Linux中在NS内执行命令的方法;
8、学习Linux中编写脚本程序的基本方法;
9、学习Wireshark软件的用法。
二、实验步骤与结果记录
1. 验证tun模块是否已安装的命令:
modinfo tun
验证命令示例如下图所示:
2. 安装EPEL源的命令:
yum install epel-release
验证命令示例如下图:
3. 安装Wireshark软件的命令:
yum install wireshark
yum install wireshark-gnome
验证命令示例如下图:
4. 创建两个network namespace,分别命名ns1和ns2。
(1) 创建ns1和ns2的命令:
ip netns add ns1
ip netns add ns2
(2) 创建一对veth pair的命令:
ip link add tap1 type veth peer name tap1_peer
(3)迁移两个tap设备到相应ns的命令:
ip link set tap1 netns ns1
ip link set tap1_peer netns ns2
(4)为tap1、tap1_peer配置IP地址的命令:
ip netns exec ns1 ip addr add local 192.168.50.1/24 dev tap1
ip netns exec ns2 ip addr add local 192.168.50.2/24 dev tap1_peer
5. 后台启动Wireshark软件命令:
ip netns exec ns1 wireshark &
验证命令示例如下图:
6. 在ns1内,执行ping命令,测试ns1到ns2的连通性命令:
ip netns exec ns1 ping -c 2 192.168.50.2
验证命令示例如下图:
7. 编写bash脚本,保存脚本文件并将文件权限修改为可执行,如下所示:
8. 重启Linux,执行脚本文件,验证脚本正确性,如下图所示:
问题分析
执行的ping命令得到的结果中,RTT值如下表所示:
ping命令得到的RTT值 |
|
最小RTT: |
2毫秒 |
平均RTT: |
6.75毫秒 |
最大RTT: |
11毫秒 |
任选一个数据帧,分析其层次结构如下表所示:
Wireshark抓包结果分析 |
|
一共截获的数据帧数量: |
16个 |
源地址和目的地址显示为IP地址的数据帧数量: |
8个 |
源地址和目的地址显示为IP地址的数据帧的层次结构分析(自顶向下) |
|
层次 |
协议 |
最顶层 |
Ping命令基于ICMP,可看作简易应用 |
中间层 |
源IP地址和目的IP地址在IP协议下进行标识和传输 |
底层 |
在数据链路层传输IP数据包,需要通过ARP协议将IP地址解析为MAC地址 |
更多推荐
所有评论(0)