pcaprub gem 安装和操作说明
首先需要安装 pcaprub gem 这个插件
安装方法:gem install pcaprub
如果这种方法正常的话,那是很兴奋的一件事,因为可以节省很多时间,但是如果报错的话,报错信息请看下图:
解决上述问题的方法如下:
1. 下载并安装msf3(http://www.metasploit.com/download/ )
2. 下载Winpcap (http://www.winpcap.org/install/bin/WinPcap_4_1_2.exe )
3. 下载WpdPack?(http://www.winpcap.org/install/bin/WpdPack_4_1_2.zip )
4. 解压WpdPack_4_1_2.zip到c:\ 根目录下(好像一定得放在这个路径下,否则会找不到驱动文件)
5. http://github.com/downloads/oneclick/rubyinstaller/DevKit-tdm-32-4.5.1-20101214-1400-sfx.exe这是devkit的下载地址,下载并安装devkit在c:\devkit目录下
6. 运行cmd命令进入到c:\devkit路径下,然后依次执行如下命令:devkitvars.bat, ruby dk.rb init, ruby dk.rb install
7. 运行cmd命令:cd ...../msf3/external/pcaprub,进入此路径下,并且依次执行如下命令:ruby extconf.rb, make, make install
8. 在此路径下运行命令:ruby test_pcaprub.rb,至此安装已完毕
说明:
1. 通过这种方法安装pcaprub gem时,你用gem list命令是查看不到pcaprub的,但是在你可以直接使用
2. 如果你想要在gem list中找到pcaprub gem,上面的路径执行完毕后,你把wpdpack下的include文件和lib文件,分别放在ruby的include和lib文件下(我安装的ruby是1.9.2的,1.8.7的没试过),然后在cmd中运行gem install pcaprub即可
应用举例
该例子是抓取从127.0.0.1发送到192.168.75.88的81端口的数据包
require 'rubygems' require 'pcaprub' pcaplet = Pcap.open_live(Pcap.lookupdev, 65535000, true, 0); pcaplet = pcaplet.setfilter("src host 127.0.0.1 and dst host 192.168.745.88 and port 81") # 设置抓取数据包的过滤器 while true pkt = pcaplet.next() if pkt puts "captured packet" puts pkt end end