IOU怎么与GNS3,虚拟系统连接呢?我想很多实验的时候都是会用到的吧!

首先就要明白IOU几个与抓包有关的文件,我们还是以上一篇的简单拓扑进行讲解。

我们来看看NETMAP与IFMAP之间的关系

应该不难懂吧,上一篇已经说了NETMAP的作用

1023怎么解释呢,这个就是桥接程序py2net.py定义的一个参数
1:0/2 1023:0 意思就是编号1设备的0/2接口通过桥接程序连接‘0’,这里的‘0’怎么定义呢?看到图上的IFMAP了吗,0|eth0 ‘0’在这里定义就好了,就是对应的eth0网卡啦!!!

两个MAP文件结合就不难看出了,编号1设备的0/2接口与eth0桥接,0/3接口与eth1桥接。

那下面就来实际的试试看吧!

承载IOL的debian虚拟机网卡设置

hostonly就是vmnet1,NAT是vmnet8,这两个都属于VM默认的类型,我的VMnet2我是设置的hostonly类型。

注意:手动固定MAC地址的虚拟机的eth0 eth1 eth2......是根据vmnet1 vmnet2 vmnet3....来排序的,在本例中对应关系是:
eth0--vmnet1(hostonly),
eth1--vmnet2,
eth2--vmnet8(NAT)。
这个我是用来做SSH,TELNET

先规划一下,根据上面的topology以及MAP文件,由于桥接只能使用三层接口,所以SW用来桥接的端口E0/2,E0/3只能配IP,不能加入VLAN,E0/0,E0/1属于VLAN1。


R1:172.16.25.1
R2:172.16.25.2
GNS3:192.168.200.99
centos:192.168.211.99

启动桥接程序python py2net.py  这步很关键的啊!!!

我先把R1,R2,SW配置好,R1,R2之间ping,验证是畅通的。

好了,我们再开启GNS3,配置好IP,然后验证3个设备之间能不能ping通

我这里为了方便,所以直接GNS3里的R1使用了no ip routing。接口地址配置成上面规划的地址。C1里是直接桥接到vmnet1,与IOL里的SW0/2接口相连。这里就不多说了!

配置好以后,应该GNS3就能与IOL里的R1,R2互通了。

桥接成功了。centos桥接也是一样的,只是centos要使用vmnet2虚拟网卡,通过桥接程序连接到IOL的SWe0/3,配上IP地址就可以了。这里就不说了。

 

再说说抓包吧,就在上面的基础上来实现。

1、先关闭桥接程序,直接ctrl+c

2、在debianIOL中添加一块虚拟网卡,设为混杂模式用来抓包

tunctl -t tap0
ifconfig tap0 promisc up

看到了是promisc模式了吧,而且是UP的

3、编辑NETMAP以及IFMAP文件,这里我们抓R1与SW之间的包,那么这两个MAP文件就应该修改成

4、启动桥接程序 python py2net.py (撒加大神的版本自带,文章最后附件单独提供下载)
这里可以用python py2net.py & 让它后台运行,但如果要关桥接就只能Kill到进程。还有就是不加&,那么这个界面就不能操作了,但ssh登录到debianIOL虚拟机。然后输入抓包命令。


5、启动抓包程序
python -u changeL2.py eth | tshark -i tap0 -w R1-SW.cap

 

ping测试了几下,然后使用ctrl+c停止,输入ls查看一下会多了一个R1-SW.cap文件,看到81711了吧,这个数字会不断的变大。这就是我们刚抓的文件,使用wireshark就可以读取分析。

怎么把cap文件弄到windows下,请参照基础配置里的samba服务配置说明。或者你FTP什么的都可以。

 

可能讲的不是很明白,有什么问题就留言吧。大家一起讨论!