IOU怎麼與GNS3,虛擬系統連接呢?我想很多實驗的時候都是會用到的吧!
首先就要明白IOU幾個與抓包有關的文件,我們還是以上一篇的簡單拓撲進行講解。
應該不難懂吧,上一篇已經說了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什麼的都可以。
可能講的不是很明白,有什麼問題就留言吧。大家一起討論!