怎么判断对方主机的操作系统呢?

2025-01-24 22:27:33
推荐回答(2个)
回答1:

N种方法,1用ping命令。这个比较复杂。
2直接通过联接端口根据其返回的信息来判操作系统
这种方法应该说是用得最多的一种方法,下面我们来看几个实例。
1、如果机子开了80端口,我们可以telnet它的80端口。

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

ErrorThe parameter is incorrect.


遗失对主机的连接。
C:\>
那么这台就肯定是windows的机子。
如果返回,
501 Method<br>Not Implemented

Method Not Implemented

get to / not
supported.

Invalid method in request get


Apache/1.3.27 Server at gosiuniversity.com Port 80


遗失对主机的连接。
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.2:(none)):
那么这就肯定是一台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.3:(none)):
也可以肯定它是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.3:(none)):
那么这就是一台UINX的机子了。
3、如果开了23端口,这个就简单了,直接telnet上去。
如果返回,
Microsoft ® Windows ™ 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的
3、利用专门的软件来识别
这种有识别操作系统功能的软件,多数采用的是操作系统协议栈识别技术。这是因为不同的厂家在编写自己操作系统时,TCP/IP协议虽然是统一的,但对TCP/IP协议栈是没有做统一的规定的,厂家可以按自己的要求来编写TCP/IP协议栈,从而造成了操作系统之间协议栈的不同。因此我们可以通过分析协议栈的不同来区分不同的操作系统,只要建立起协议栈与操作系统对应的数据库,我们就可以准确的识别操作系统了。
下面是简单介绍两款有识别功能的软件,具体用法我就不说,你可以到网上去找找相应软件的说明使用

回答2:

一般没有特别修改的可以点-我的电脑右键-属性常规右下方