ping命令有一个ttl的值,这个值表示包在多久后会被扔掉。 不同的系统一般是不一样的。
从PING命令的回显可以判断操作系统类型
就是使用PING命令来查看TTL值从而判断操作系统类型。详细如下:
TTL=128,这是WINNT/2K/XP。
TTL=32,这是WIN95/98/ME。
TTL=256,这是UNIX。
TTL=64,这是LINUX。
首先,可以查看HTTP报头,如果是服务器是IIS,则肯定是Windows。除此之外,还可以访问站点错误路径,根据错误提示(未修改的话)判断系统。<img src="https://pic4.zhimg.com/3caa1067b250d4eedcc4c4956a6d7b6b_b.jpg" data-rawwidth="727" data-rawheight="242" class="origin_image zh-lightbox-thumb" width="727" data-original="https://pic4.zhimg.com/3caa1067b250d4eedcc4c4956a6d7b6b_r.jpg">
如果是Apache、Nginx或其它,则无法通过此方法判断。这时我们可以ping、traceroute服务器,根据默认TTL判断服务器系统。
一般来说各系统的默认TTL:Linux:64;Windows:128;Unix:255
比如 http://centos.org ,TTL为64,有很大可能性为Linux
<img src="https://pic4.zhimg.com/f24bef221fe1298650ce2e17ac4b513b_b.jpg" data-rawwidth="597" data-rawheight="269" class="origin_image zh-lightbox-thumb" width="597" data-original="https://pic4.zhimg.com/f24bef221fe1298650ce2e17ac4b513b_r.jpg">
同样的方法,ping http://tsdm.net ,TTL为128,有很大可能性为Windows
<img src="https://pic1.zhimg.com/435befc716271a1d726f6185b7af8b10_b.jpg" data-rawwidth="582" data-rawheight="263" class="origin_image zh-lightbox-thumb" width="582" data-original="https://pic1.zhimg.com/435befc716271a1d726f6185b7af8b10_r.jpg">
ping http://java.com ,TTL为255,有很大可能性为UNIX
<img src="https://pic3.zhimg.com/90988c43b80f892a05fc84e3dd0e27c2_b.jpg" data-rawwidth="579" data-rawheight="261" class="origin_image zh-lightbox-thumb" width="579" data-original="https://pic3.zhimg.com/90988c43b80f892a05fc84e3dd0e27c2_r.jpg">
当然这种方法也不准确,服务器管理员可以出于安全考虑修改默认TTL,网站使用了CDN得到的是CDN节点信息,无法得知服务器实际使用的系统。
这只是些简单的方法,除此之外,还能使用Nmap、Xprobe2、P0F之类的软件判断。
楼主您好用 ping 但是不能具体判断,我自己的感觉就是 现在server 很多都是 linux的 (rhel5)如果是dos 那99%是2003 ping xxx.xxx.xxx.xxx
TTL值介乎于110-128之间的,基本我们可以判断为是Windows系列的操作系统
TTL值介乎于50-64之间的,基本我们可以判断为是Linux/CentOS/FreeBSD等操作系统。
Linux系统的TTL值计算方法是 (64-所过路由数量)=最终TTL
Windows系统的TTL值计算方法是 (128-所过路由数量)=最终TTL
希望能解决你的问题
还有一种方法就是 远程扫描 看看有什么端口 看了telnet server 连接看提示信息 上面有版权申告 就可以知道
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)