p0f

来源:互联网 发布:农村淘宝服务电话 编辑:程序博客网 时间:2024/06/07 11:08


参考:http://lcamtuf.coredump.cx/p0f3/


p0f是一款被动探测工具,能够通过捕获并分析目标主机发出的数据包来对主机上的操作系统进行鉴别,即使是在系统上装有性能良好的防火墙的情况下也没有问题。。目前最新版本为3.09b。同时p0f在网络分析方面功能强大,可以用它来分析NAT、负载均衡、应用代理等。p0f是万能的被动操作系统指纹工具。p0f对于网络攻击非常有用,它利用SYN数据包实现操作系统被动检测技术,能够正确地识别目标系统类型。和其他扫描软件不同,它不向目标系统发送任何的数据,只是被动地接受来自目标系统的数据进行分析。因此,一个很大的优点是:几乎无法被检测到,而且p0f是专门系统识别工具,其指纹数据库非常详尽,更新也比较快,特别适合于安装在网关中。

工作原理:当被动地拦截原始的TCP数据包中的数据,如可以访问数据包流经的网段,或数据包发往,或数据包来自你控制的系统;就能收集到很多有用的信息:TCP SYN 和SYN/ACK数据包就能反映TCP的链接参数,并且不同的TCP协议栈在协商这些参数的表现不同。

P0f不增加任何直接或间接的网络负载,没有名称搜索、没有秘密探测、没有ARIN查询,什么都没有。某些高手还可以用P0f检测出主机上是否有防火墙存在、是否有NAT、是否存在负载平衡器等等!

P0f是继Nmap和Xprobe2之后又一款远程操作系统被动判别工具。它支持:
1、反连SYN 模式
2、正连SYN+ACK 模式
3、空连RST+ 模式
4、碎片ACK 模式

P0f比较有特色的是它还可以探测:

A、是否运行于防火墙之后
B、是否运行于NAT模式
C、是否运行于负载均衡模式
D、远程系统已启动时间
E、远程系统的DSL和ISP信息等

p0f 参数

用法: p0f [ ...选项... ] [ '过滤规则' ]网络接口选项:  -i iface  - 指定监听的网络接口  -r file   - 读取由抓包工具抓到的网络数据包文件  -p        - 设置 -i参数 指定的网卡 为混杂模式  -L        - 列出所有可用接口操作模式和输出设置:  -f file   - 指定指纹数据库 (p0f.fp) 路径,不指定则使用默认数据库。(默认:/etc/p0f/p0f.fp)  -o file   - 将信息写入指定的日志文件中。只有同一网卡的log文件才可以附加合并到本次监听中来。  -s name   - 回答 unix socket 的查询 API  -u user   - 以指定用户身份运行程序,工作目录会切换到到当前用户根目录下;  -d        - 以后台进程方式运行p0f (requires -o or -s)性能相关的选项:  -S limit  - 设置API并发数,默认为20,上限为100;  -t c,h    - 设置连接超时时间 (30s,120m)  -m c,h    - 设置最大网络连接数(connect)和同时追踪的主机数(host)(默认值: c = 1,000, h = 10,000).通过 man tcpdump 命令可以了解更过 过滤选项表达式。阻止p0f查看网络流量。
p0f -i eth0 –p    //监听网卡eth0,并开启混杂模式。这样会监听到每一个网络连接。也可以直接在终端输入 p0f ,然后回车,进行监听,一旦收到报文就会显示相关信息,并且不断刷新。示例:在终端输入 p0f 然后回车,就可进行监听。然后浏览器打开 www.baidu.com即可,,就可以监听与百度的网络连接。也可通过其他方式。

xprobe2

Xprobe2是一款使用ICMP消息进行操作系统探测的软件,探测结果可以和Nmap互为参照。但是该软件目前公开版本为2005年的版本,对老的操作系统探测结果较为准确,新系统则无能为力了。简单用法:xprobe2 -v URI (这个平时用基本也扫不出什么东西)。与 p0f 被动不同,xprobe2 是一个主动的系统探测工具
基本命令格式:xprobe2 www.baidu.com

Protos

Protos是一个ip协议的扫描工具特别适用于路由。

用法: ./protos -i eth0 -d 10.1.2.3 -v-v             详细信息-V             显示不支持的协议-u             don't ping targets first-s             慢速扫描 (对每一个远程设备)-L             显示长协议名称和引用的RFC-p x           探测数量 (默认=5)-S x           睡眠 x 秒 (default=1)-a x           x 秒后继续扫描 (default=3)-d dest        目标IP地址 (IP or IP/MASK)-i interface   网卡接口-W             不扫描,仅打印协议列表


nmap

nmap -O 主动方式

原理:A.利用TCP:协议栈构建TCP首部选项部分响应由Nmap发送SYN数据包的方式; 

            B.分析关闭的UDP数据包响应ICMP端口不可达的特征,操作系统应该在返回ICMP端口不可达的数据包中包含一部分发送给它已关闭的UDP数据包内容;
                但是很多协议栈不能完美的完成这个任务!校验和,IP ID值和IP总长度字段都肯能被篡改,由篡改的方式和程度来识别对方系统。

nmap -O -PN web.qq.com
nmap -O 124.248.37.169