怎么探测目的机和服务器的操作系统?

怎么探测目的机和服务器的操作系统?,第1张

一、用ping来识别操作系统

C:>ping 10.1.1.2

Pinging 10.1.1.2 with 32 bytes of data:

Reply from 10.1.1.2: bytes=32 time<10ms TTL=128

Reply from 10.1.1.2: bytes=32 time<10ms TTL=128

Reply from 10.1.1.2: bytes=32 time<10ms TTL=128

Reply from 10.1.1.2: bytes=32 time<10ms TTL=128

Ping statistics for 10.1.1.2:

Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

C:>

C:>ping 10.1.1.6

Pinging 10.1.1.6 with 32 bytes of data:

Request timed out.

Reply from 10.1.1.6: bytes=32 time=250ms TTL=237

Reply from 10.1.1.6: bytes=32 time=234ms TTL=237

Reply from 10.1.1.6: bytes=32 time=234ms TTL=237

Ping statistics for 10.1.1.6:

Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),

Approximate round trip times in milli-seconds:

Minimum = 234ms, Maximum = 250ms, Average = 179ms

我们跟据ICMP报文的TTL的值,我们就可以大概知道主机的类型。如:TTL=125左右的主机应该是windows

系列的机子,TTL=235左右的主机应该是UINX系列的机子。如上面的两个例子,10.1.1.2就是win2000的机

子,而10.1.1.6则是UINX(Sunos 5.8)的机子。这是因为不同操作系统的机子对ICMP报文的处理与应答

是有所不同的,TTL值每过一个路由器会减1。所以造成了TTL回复值的不同。对于TTL值与操作系统类型的

对应,还要靠大家平时多注意观察和积累。

二、直接通过联接端口根据其返回的信息来判操作系统

这种方法应该说是用得最多的一种方法,下面我们来看几个实例。

1、如果机子开了80端口,我们可以telnet(当然如果有NC最好用NC,它可以不用盲打)它的80端口。

Microsoft Windows 2000 [Version 5.00.2195]

(C) 版权所有 1985-1998 Microsoft Corp.

C:>telnet 10.1.1.2 80

输入get 回车(注意这里是盲打)

如果返回,

HTTP/1.1 400 Bad Request

Server: Microsoft-IIS/5.0

Date: Fri, 11 Jul 2003 02:31:55 GMT

Content-Type: text/html

Content-Length: 87

<html><head><title>Error</title></head><body>The parameter is incorrect. </body>

</html>

遗失对主机的连接。

C:>

那么这台就肯定是windows的机子。

如果返回,

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>501 Method

Not Implemented</TITLE></HEAD><BODY><H1>Method Not Implemented</H1>get to / not

supported.<P>Invalid method in request get<P><HR><ADDRESS>Apache/1.3.27 Server at

gosiuniversity.com Port 80</ADDRESS>

</BODY></HTML>

遗失对主机的连接。

C:>

那么多数就是UINX系统的机子了。

2、如果机子开了21端口,我们可以直接FTP上去

C:>ftp 10.1.1.2

如果返回,

Connected to 10.1.1.2.

220 sgyyq-c43s950 Microsoft FTP Service (Version 5.0).

User (10.1.1.2none)):

那么这就肯定是一台win2000的机子了,我们还可以知道主机名呢,主机名就是sgyyq-c43s950。这个FTP

是windows的IIS自带的一个FTP服务器。

如果返回,

Connected to 10.1.1.3.

220 Serv-U FTP Server v4.0 for WinSock ready...

User (10.1.1.3none)):

也可以肯定它是windows的机子,因为Serv-U FTP是一个专为windows平台开发的FTP服务器。

如果返回,

Connected to 10.1.1.3.

220 ready, dude (vsFTPd 1.1.0: beat me, break me)

User (10.1.1.3none)):

那么这就是一台UINX的机子了。

3、如果开了23端口,这个就简单了,直接telnet上去。

如果返回,

Microsoft (R) Windows (TM) Version 5.00 (Build 2195)

Welcome to Microsoft Telnet Service

Telnet Server Build 5.00.99201.1

login:

那么这肯定是一台windows的机子了

如果返回,

SunOS 5.8

login:

不用说了,这当然是一台UINX的机子了,并且版本是SunOS 5.8的。

扫描端口有如下目的。

(1)判断服务器开放了哪些服务。计算机通信都需要通过计算机中的端口进行。打印机的使用需要接在对应的打印机端口,通过打印机端口,数据传输到打印机上才能止常打印。同样,在网络上服务器的各种应用也是通过对应端口来实现的。通过端口扫描,可以判断服务器提供了那些应用和服务。通过操作系统指纹扫描,可以判断该服务器是FTP服务器还是Web服务器等。在了解了服务器开放的服务后,可以选择有针对性的攻击方法。

(2)判断服务器的操作系统类型。操作系统探测是网络安全扫描研究的重点内容之一。不同的操作系统,有不同的特性和弱点。了解操作系统的类型,可以对入侵行为提供帮助。尽管网络都是基于TCP/IP网络协议的,但是各种操作系统的协议栈存在一定的差异。虽然识别远程操作系统的方法有很多,但大部分都是根据不同操作系统的异同来进行判断的。因为只要某种操作系统具有自己独有的特征,就可以利用这些特征进行识别判断它们。总之,如果黑客掌握了目标服务器开放了哪些服务,运行着哪种操作系统,他们就能够使用相应的手段实现入侵。

楼主您好

用 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 连接看提示信息 上面有版权申告 就可以知道


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/770095.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-20
下一篇2023-08-20

发表评论

登录后才能评论

评论列表(0条)

    保存