|
1、如果机子开了80端口,我们可以telnet(当然如果有NC最好用NC,它可以不用盲打)它的80端口。
MicrosoftWindows2000[Version5.00.2195]
(C)版权所有1985-1998MicrosoftCorp.
C:\>telnet10.1.1.280
输入get回车(注意这里是盲打)
如果返回,
HTTP/1.1400BadRequest
Server:Microsoft-IIS/5.0
Date:Fri,11Jul200302:31:55GMT
Content-Type:text/html
Content-Length:87
Theparameterisincorrect.
遗失对主机的连接。
C:\>
那么这台就肯定是windows的机子。
如果返回,
MethodNotImplemented
getto/not
supported.
Invalidmethodinrequestget
Apache/1.3.27Serveratgosiuniversity.comPort80
遗失对主机的连接。
C:\>
那么多数就是UINX系统的机子了。
2、如果机子开了21端口,我们可以直接FTP上去
C:\>ftp10.1.1.2
如果返回,
Connectedto10.1.1.2.
220sgyyq-c43s950MicrosoftFTPService(Version5.0).
User(10.1.1.2none)):
那么这就肯定是一台win2000的机子了,我们还可以知道主机名呢,主机名就是sgyyq-c43s950。这个FTP是windows的IIS自带的一个FTP服务器。
如果返回,
Connectedto10.1.1.3.
220Serv-UFTPServerv4.0forWinSockready…
User(10.1.1.3none)):
也可以肯定它是windows的机子,因为Serv-UFTP是一个专为windows平台开发的FTP服务器。
如果返回,
Connectedto10.1.1.3.
220ready,dude(vsFTPd1.1.0:beatme,breakme)
User(10.1.1.3none)):
那么这就是一台UINX的机子了。
3、如果开了23端口,这个就简单了,直接telnet上去。
如果返回,
Microsoft(R)Windows(TM)Version5.00(Build2195)
WelcometoMicrosoftTelnetService
TelnetServerBuild5.00.99201.1
login:
那么这肯定是一台windows的机子了
如果返回,
SunOS5.8
login:
不用说了,这当然是一台UINX的机子了,并且版本是SunOS5.8的。
三、利用专门的软件来识别
这种有识别操作系统功能的软件,多数采用的是操作系统协议栈识别技术。这是因为不同的厂家在编写自己操作系统时,TCP/IP协议虽然是统一的,但对TCP/IP协议栈是没有做统一的规定的,厂家可以按自己的要求来编写TCP/IP协议栈,从而造成了操作系统之间协议栈的不同。因此我们可以通过分析协议栈的不同来区分不同的操作系统,只要建立起协议栈与操作系统对应的数据库,我们就可以准确的识别操作系统了。目前来说,用这种技术识别操作系统是最准确,也是最科学的。因此也被称为识别操作系统的“指纹技术”。当然识别的能力与准确性,就要看各软件的数据库建立情况了。
|
|
【收藏】【打印】【进入论坛】 |
|
|
|
|
|
|
|