上一篇:WinRAR九大不传密技 >>
利用ICMP请求报文探测主机操作系统
对于icmp地址掩码请求,只有少数操作系统会产生相应的应答,这些系统
包括ultrix openvms, windows 95/98/98 se/me, nt below sp 4, 和 sun
solaris机器。但其中sun机器对碎片icmp地址掩码请求(fragmented icmp
address mask requests)的应答不一样,所以允许远程用户来鉴定sun主
机操作系统。
下面是通过由alfredo andres omella写的sing(http://sourceforge.net/
projects/sing)对sun solaris2.7机器正常的地址掩码请求:
# ./sing -mask ip_address
singing to ip_address (ip_address): 12 data bytes
12 bytes from ip_address: icmp_seq=0 ttl=236 mask=255.255.255.0
12 bytes from ip_address: icmp_seq=1 ttl=236 mask=255.255.255.0
12 bytes from ip_address: icmp_seq=2 ttl=236 mask=255.255.255.0
12 bytes from ip_address: icmp_seq=3 ttl=236 mask=255.255.255.0
12 bytes from ip_address: icmp_seq=4 ttl=236 mask=255.255.255.0
--- ip_address sing statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
操作系统会回答一个icmp的地址掩码请求并带有其响应的网络地址掩码。
下面我们来看我们发送一些碎片请求,下面的例子是通过发送8字节的ip数
据碎片到同样上面操作的sun solaris2.7机器上,就可以看到我们获得的
回应和刚才的不一样了(-c 2是允许sing发送两个icmp地址掩码请求):
# ./sing -mask -c 2 -f 8 ip_address
singing to ip_address (ip_address): 12 data bytes
12 bytes from ip_address: icmp_seq=0 ttl=241 mask=0.0.0.0
12 bytes from ip_address: icmp_seq=1 ttl=241 mask=0.0.0.0
--- ip_address sing statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
如果用tcpdump监听,有如下输出:
20:02:48.441174 ppp0 > slip139-92-208-21.tel.il.prserv.net > host_address:
icmp: address mask request (frag 13170:8@0+)
4500 001c 3372 2000 ff01 50ab 8b5c d015
xxxx xxxx 1100 aee3 401c 0000
20:02:48.442858 ppp0 > slip139-92-208-21.tel.il.prserv.net > host_address:
(frag 13170:4@8)
4500 0018 3372 0001 ff01 70ae 8b5c d015
xxxx xxxx 0000 0000
20:02:49.111427 ppp0 < host_address > slip139-92-208-21.tel.il.prserv.net:
icmp: address mask is 0x00000000 (df)
4500 0020 3618 4000 f101 3c01 xxxx xxxx
8b5c d015 1200 ade3 401c 0000 0000 0000
20:02:49.441492 ppp0 > slip139-92-208-21.tel.il.prserv.net > host_address:
icmp: address mask request (frag 13170:8@0+)
4500 001c 3372 2000 ff01 50ab 8b5c d015
xxxx xxxx 1100 ade3 401c 0100
20:02:49.442951 ppp0 > slip139-92-208-21.tel.il.prserv.net > host_address:
(frag 13170:4@8)
4500 0018 3372 0001 ff01 70ae 8b5c d015
xxxx xxxx 0000 0000
20:02:50.011433 ppp0 < host_address > slip139-92-208-21.tel.il.prserv.net:
icmp: address mask is 0x00000000 (df)
4500 0020 3619 4000 f101 3c00 xxxx xxxx
8b5c d015 1200 ace3 401c 0100 0000 0000
这样你就可以看到sun solaris回应的网络地址掩码是0.0.0.0。
我们可以使用下面的方法解决这个问题:
ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0
ndd -set /dev/ip ip_respond_to_echo_broadcast 0
ndd -set /dev/ip ip_respond_to_timestamp 0
ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0
ndd -set /dev/ip ip_forward_directed_broadcasts 0
2、利用icmp时间戳请求报文探测windows 98/98 se/me/2000操作系统
microsoft windows 98/98 se/me/2000 profressional/2000 server操作
系统对于将代码(code)段置为0的icmp时间戳请求报文将不产生任何应
答报文。
根据这个特性,可以通过两种格式的icmp时间戳请求探测并确定microsoft
windows的操作系统类型。首先是正常的请求报文,不产生应答报文的
windows主机的操作系统类型为microsoft windows 95、microsoft windows
nt 4.0 workstation with sp6a(及以下版本)。其它的操作系统(包括
unix系列)则会产生相应的应答报文。接着发送定制格式的时间戳请求icmp
报文,其中的代码(code)段置为非零值,windows98/98 se/me/2000
profressional/2000 server等较新版本的操作系统将不产生应答报文,
而其它操作系统则根据此请求回复正确的应答报文。
涉及(经过测试)的操作系统:
linux kernel 2.4t2; linux kernel 2.2.14; freebsd 4.0, 3.4;
openbsd 2.7 & 2.6; solaris 2.5.1, 2.6, 2.7 & 2.8; hp-ux 10.20;
aix 4.1; ultrix; microsoft windows 95 / 98 / 98se / me / nt 4 sp3,
sp4, sp6a wrst & server / 2000 professional & server.
参考:
1)sing可以到以下网址下载:
http://download.sourceforge.net/sing/sing-1.0b7.tgz
2)相关链接:
http://www.sys-security.com
http://sourceforge.net/projects/sing
()
下一篇:判断Web数据库方式的一个小经验 >>
相关文章:
- · Windows系统中隐藏驱动器
- · Windows XP操作系统6例故障解答
- · 巧改hosts文件让QQ新闻更个性
- · 拆除TFTP“定时炸弹”
- · 把浏览器改造成FTP软件
- · XP 注册表键值的双重作用
- · 10种常见计算机无法启动故障解决方法
- · 下载隐藏链接的网络资源
- · 磁盘坏道修复
- · 常见电子书格式及其反编译思路
- · Gmail变成blog和变成HTML空间
- · Java入门需掌握的30个基本概念
- · 几个DNS欺骗的利用原理
- · 虚拟路由器简介
- · 随心订制linux透明防火墙
- · 硬盘数据丢失后的解决方法
- · FlashGet最新绝密曝光
- · Transact-SQL语句总汇
- · 防范非法用户入侵系统秘籍
- · 磁盘碎片分析报告巧利用
- · 带你亲手打造QQ破解器
- · 在Ultraedit中用宏实现将选中的代码设置为注释
- · 画图程序制作头像图片全过程
- · 欺骗黑客的一种有效方法
- · 电子邮件头全揭密
- · 格式化硬盘数据删不净 信息露不停
- · 禁用QQ的办法
- · 双系统的安装和启动原理
- · DEBUG命令大全
- · Linux中的一些常用操作方法
- · 提高系统内存效能的五大技巧
- · 自动完成密码查看攻略
- · DOS常用命令详解
- · 端口的基本概念
- · 诊断排除基本的 TCP/IP 问题
- · TCP/IP协议的简单说明
- · 选择局域网中的通信协议
- · IP网络路由技术
