介绍
xprobe2是一款远程主机操作系统探测工具。
xprobe通过ICMP协议来获得指纹。
p0f被动操作系统识别(抓包识别)。
xprobe2
XProbe是一款远程主机操作系统探查工具。Xprobe通过ICMP协议来获得指纹。
附参数表:
参数 用法(个人翻译)
-v 详细输出
-T 选定一个/组 tcp端口
-U 选定一个/组 udp端口
-A 检测透明代理和防火墙/ NIDS在端口扫描模块中欺骗RST数据包。 选项应与-T一起使用
-B 盲猜TCP开放端口 顺序 80,443,23,21,25,22,139,445,6000,探测后则保存到端口数据库中
-o 使用“控制台日记”记录所有内容(默认输出为stderr)
-X 与-o同时使用,将-o记录的所有内容以XML方式输出到指定文件目录
-t 设置超时秒数 (默认10秒)
-F 与-o可同时使用,将对目标生成签名并记录到文件中
-r 显示目标的路由
-D <model name/index> 不使用指定模块进行扫描,后跟模块名称/序号
-M <model name/index> 仅使用指定模块进行扫描,后跟模块名称/序号
-p 对指定端口/组端口 进行扫描 需要配合其他参数使用
-p
指定端口号(端口编号),协议(原)和它的状态为xprobe2期间远程主机的rechability /指纹测试使用。proto的可能值是tcp或udp,portnum只能取1到65535之间的值,状态可以关闭(对于tcp表示远程主机用RST数据包回复,对于udp表示远程主机用ICMP端口无法访问数据包回复) )或打开(对于tcp这意味着远程主机使用SYN ACK数据包进行回复,对于udp则表示远程主机不回复任何数据包)。
模块的介绍
一共有13个模块,使用方法见附表:
实战使用
使用xprobe2对服务器场景server2003进行TCP扫描,仅扫描靶机80,3306端口的开放情况
Xprobe2 -T 80,3306 10.11.124.102
扫描tcp(-T)中的20,21,22和udp(-U)中的53,67 端口,猜想操作系统
Xprobe2 -T 20,21,22 -U 53,67 10.11.124.102
已知目标主机80端口开放,使用tcp rst识别模块对目标操作系统进行扫描
Xprobe2 -M 11 -p tcp:80:open 10.11.124.102
发起针对192.168.1.10的操作系统指纹识别尝试。 模块1和2是可达性测试,将被禁用,因此即使目标已关闭,也会发送探测。
Xprobe2 -v -D 1 -D 2 10.11.124.102
提供更多的开放端口以提高准确性
Xprobe2 -v -p tcp:80:open tcp:3389:open 10.11.124.102
结果以XML方式保存在用户桌面,名称为a.xml
Xprobe2 -o /root/Desktop/a.xml -X 10.11.124.102
p0f
-i iface 在指定的网络接口上侦听
-r 文件 从给定文件读取离线pcap数据
-p 将侦听界面置于混杂模式
-L 列出所有可用的接口
操作模式和输出设置选项:
-f文件 - 从'file'读取指纹数据库(/etc/p0f/p0f.fp)
-o文件 - 将信息写入指定的日志文件
-s名称 - 在命名的unix套接字上回答API查询
-u用户 - 切换到指定的无特权帐户和chroot
-d -fork进入后台(需要-o或-s)
绩效相关选项:
-S限制 - 并行API连接数限制(20)
-t c,h - 设置连接/主机缓存时间限制(30s,120m)
-m c,h-cap活动连接数/主机数(1000,10000)
例子:
直接再命令行输入p0f,就会抓取经过本机网卡的包并识别系统。