分类:
2009-07-24 13:41:57
# perl -e '$x=14524416-0x1228b0;print "$x\n"' 13334352 |
#gzip -d asa802-k8.gz |
这时我们发现文件夹内已经包含一个asa802-k8的CPIO镜像文件.接下来使用cpio命令解压该文件.
7:
使用cpio解压
命令:
cpio -i --make-directories --no-absolute-filenames < asa802-k8 |
OK,下面可以看到当前文件夹内出现了一个标准的文件系统,可以使用ls查看:
下面需要做的是一些编辑相关文件,之后在将这个文件系统打包,然后使用Qemu这个虚拟机来引导它.
8:编辑相关文件(etc/init.d/rcS 注意此文件并非linux根下的/etc,而是解压asa802-k8所得的文件系统内的/etc),打包文件系统.
命令:
# vim etc/init.d/rcS |
看的内容为上面,那么我们应该使用vim来编辑它(当然也可以使用别的编辑工具,如gedit 等等).编辑后的内容如下:
确认:wr保存退出
注意拷贝出vmlinuz内核文件(模拟需要它来引导)
下面进行打包ASA文件系统工作.
打包命令:
# find . | cpio -o -H newc | gzip -9 > /home/bzzjh/asa802.gz |
到这里asa802-k8.bin这个二进制文件已经完全的被破解出来,我们可以很清晰的发现,Cisco ASA的操作系统就是个Linux系统,唯一的只是在asa文件夹内的两个asa的操作程序,lina和lina_ monitor (后面关于模拟部分会执行lina_ monitor这个程序).
1.
利用Qemu引导(模拟)Cisco ASA Linux 文件系统.
准备工作:
①
Qemu 程序(附件中提供)
②
破解出来的ASA Linux文件系统asa802.gz (附件中提供)
③
内核:vmlinuz (附件中提供)
因为我们日常工作都是使用windows系统,下面模拟部分我转到windows下系统进行
GO !!
首先打开附件文件夹:
你看到内容如上图,之后打开asaemu:
asa802-k8是我们通过上面的步骤破解出来的asa文件系统.
这里需要说明一下:破解的步骤不能在windows环境中进行,虽然像cpio这样的程序都有一个windows的移植版,但是无法创建linux下的链接文件!
Ⅰ.点击创建Disk.cmd 文件.
之后该文件夹内将会生成一个asa802.vmdk 大小为64.0 KB的文件.
Ⅱ.鼠标右键选种3.ASA802.bat 文件,点编辑
我们将看到该批处理文件的主体内容如下 :
我们将看到该批处理文件的主体内容如下 :
..\qemu.exe -L ..\bios -hda asa802.vmdk -hdachs 980,16,32 -kernel vmlinuz -initrd asa802-k8.gz -m 256 --no-kqemu -append "auto nousb ide1=noprobe bigphysarea=16384 console=ttyS0,9600n8 hda=980,16,32" |
注意上面方框内的命令其实是为一行,只是因为换行的缘故.注意灰色部分请不要改动
可以进行修改的部分是粉红色部分和深蓝色部分
下面解释一下粉红色部分和深蓝色部分的意思:
–net nic,vlan=0,model=i82557b,macaddr=00:aa:00:00:02:01
在asa中创建一个网卡,型号为intel i82557b,vlan号为0,mac地址为00:aa:00:00:02:01。这条命令后面: –net pcap,vlan=0,ifname=\Device\NPF_{E93E58F7-430F-45F7-9565-0CEED2108E27}
意思是说将创建的这个属于vlan0的网卡桥接到本地网卡中,其中本地网卡的参数为\Device\NPF_{E93E58F7-430F-45F7-9565-0CEED2108E27}
那么深蓝色部分也同样理解:
-net nic,vlan=1,model=i82557b,macaddr=00:aa:00:00:02:02 -net pcap,vlan=1,ifname=2
在asa创建另一个网卡,vlan为1,mac地址为00:aa:00:00:02:02,并将其桥接到网卡号为2的本地网卡上.
这里肯定会有一个疑问:
ifname=\Device\NPF_{E93E58F7-430F-45F7-9565-0CEED2108E27}
ifname=2
这是两个参数主要是用来桥接到本地网卡,那么它是如何得知?
答案就在下面
Ⅲ. 点击获取网卡参数.
.(注意需要安装winpcap,附件文件夹内已提供)
如图:以上就是我的机器中所有可用的网卡,和它的参数
这里同一个网卡参数,可以用两个不同的方法去表示.比如3号,Intel的无线网卡.我们即可以ifname=3 也可以ifname= \Device\NPF_{E93E58F7-430F-45F7-9565-0CEED2108E27} 意思都是将某一个asa中的端口桥接到本地的这个无线网卡上.(这里ifname还可以支持tap接口,因为篇幅问题加上tap接口配置有比较烦琐,不加详细介绍,有兴趣可以邮件讨论)
所以在第一次运行之前请务必需要修改文件中的网卡参数为你主机对应的网卡参数(红下划线部分).
提示:当然3.ASA802.bat 文件的批处理只模拟运行一个asa(2个端口),你也可以模拟更多的接口,创建接口:
-net nic,vlan=N,model=i82557b,macaddr=00:aa:00:00:02:01 -net pcap,vlan=N,ifname=XXXX
运行多个asa可以在附件文件夹内复制多个asaemu文件夹,分别运行文件夹内的相应文件
Ⅳ.做好一切准备工作后,点击3.ASA802.bat
将看到:
之后使用telnet 工具.这里我使用SecureCRT演示
创建快速连接,如上图.点击Connect,将会看到一个启动信息:
今后将进入shell 命令环境: