nmap 获取主机名 您所在的位置:网站首页 如何查电脑的主机名字是什么 nmap 获取主机名

nmap 获取主机名

2024-07-15 09:56| 来源: 网络整理| 查看: 265

一开始试了命令

$ nmap -A 192.168.1.88

等了大半天,终于出来结果(手工局部加码):

Starting Nmap 5.21 ( http://nmap.org ) at 2011-12-03 14:49 CST Nmap scan report for 192.168.1.88 Host is up (0.019s latency). Not shown: 991 closed ports PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS webserver 5.1 |_html-title: 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn 443/tcp open https? 445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds 873/tcp open rsync? 1025/tcp open msrpc Microsoft Windows RPC 2869/tcp open http Microsoft HTTPAPI httpd 1.0 (SSDP/UPnP) |_html-title: Site doesn't have a title (text/html). 3389/tcp open microsoft-rdp Microsoft Terminal Service Service Info: OS: Windows Host script results: |_nbstat: NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** |_smbv2-enabled: Server doesn't support SMBv2 protocol | smb-os-discovery: | OS: Windows XP (Windows 2000 LAN Manager) | Name: USER\L |_ System time: 2011-12-03 14:54:05 UTC+8 Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 133.46 seconds

可以看到,前面列出了这台电脑的可用端口,后面有一行

|_nbstat: NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:**

NetBIOS name: L说明这台电脑的主机名是L,我的要求实现了,但是存在一个缺点,速度太慢,可以看到,时间花了133秒才扫描出来,找一个主机名根本不需要这么久,大部分的时间都浪费在前面扫描端口上了

为了提高速度,我开始RTFM,发现man实在太长,没心情看完,又开始Google,找到了不少资料,我觉得有用的有: 这里 & 这篇man的中文翻译

看了这些资料,我对nmap的功能倒是了解的不少,但是可惜的是,我需要的功能(解析IP对应的主机)还是找不到答案,还是只有-A参数能满足要求。

回头看看前面的提示,我注意到了这么一段

Host script results: |_nbstat: NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** |_smbv2-enabled: Server doesn't support SMBv2 protocol | smb-os-discovery: | OS: Windows XP (Windows 2000 LAN Manager) | Name: USER\L |_ System time: 2011-12-03 14:54:05 UTC+8

第一句:Host script results,这说明了下面的内容,不是nmap本身输出的,而是一个script输出的,所以理所当然的,nmap肯定没有对应的参数

但是,nmap有一个--script的参数,可以指定执行某个script,这下看到了曙光,执行:

$ nmap --script nbstat 192.168.1.88

结果如下(手工局部加码):

Starting Nmap 5.21 ( http://nmap.org ) at 2011-12-03 15:08 CST NSE: Script Scanning completed. Nmap scan report for 192.168.1.88 Host is up (0.0074s latency). Not shown: 991 closed ports PORT STATE SERVICE 80/tcp open http 135/tcp open msrpc 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 873/tcp open rsync 1025/tcp open NFS-or-IIS 2869/tcp open unknown 3389/tcp open ms-term-serv Host script results: | nbstat: | NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** | Names | L Flags: | USER Flags: | L Flags: | USER Flags: | USER Flags: |_ \x01\x02__MSBROWSE__\x02 Flags: Nmap done: 1 IP address (1 host up) scanned in 2.63 seconds

看时间,2.63秒,这速度很可以了,一般都可以接受,但是,前面在测试nmap命令的时候,已经发现了几个可以提高速度的办法,于是再试(为了节省篇幅,突出重点,下面只列出执行的命令,是否满足要求已经执行时间):

(这个命令指定扫描80端口,是可以扫,但是无法列出主机名,失败)

$ nmap -p80 --script nbstat 192.168.1.88 80/tcp open http Nmap done: 1 IP address (1 host up) scanned in 1.17 seconds

(然后注意到了上面139端口的服务是netbios-ssn,所以扫一下139端口试试,这下可以满足要求了,时间也非常快)

$ nmap -p139 --script nbstat 192.168.1.88 139/tcp open netbios-ssn | NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

(又试扫了一下135,也同样成功)

$ nmap -p135 --script nbstat 192.168.1.88 135/tcp open msrpc | NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** Nmap done: 1 IP address (1 host up) scanned in 0.16 seconds

(netBIOS也支持UDP的,所以使用-sU参数进行UDP扫描,同样可以扫到,但是因为没有指定端口,所以耗时较长,另外,-sU参数需要root权限才能执行,可以注意到,137端口的服务是netbios-ns,那么下面就只扫137)

$ sudo nmap -sU --script nbstat 192.168.1.88 137/udp open netbios-ns | NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** Nmap done: 1 IP address (1 host up) scanned in 4.07 seconds

(只扫137的UDP,同样可以,速度也快)

$ sudo nmap -sU -p137 --script nbstat 192.168.1.88 137/udp open netbios-ns | NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds

(比较下来,还是用TCP扫139合适,速度快,还不需要root,现在再加上其他参数提速,-P0使得nmap不测试指定IP是否存在,直接开始扫,-sT指定只用TCP协议,从结果来看,反而比刚才慢,但是实际上是不慢的,因为不连续执行,差个几十毫秒也是正常,而且nmap可能有一定的缓存时间,第一次用nmap确认一个ip存在后,一段时间内不会再去确认,就和加上-P0参数的效果是一样的,这里手动加上-P0,可以确保在任何时候都一样快)

$ nmap -P0 -sT -p139 --script nbstat 192.168.1.88 139/tcp open netbios-ssn | NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

(再加一个参数-T4,我也没太搞明白这个参数是干嘛用的,但是在所有nmap命令上加上这个参数后,速度都有一定的提高,所以就加上吧)

$ nmap -P0 -sT -p139 -T4 --script nbstat 192.168.1.88 139/tcp open netbios-ssn | NetBIOS name: L, NetBIOS user: , NetBIOS MAC: **:**:**:**:**:** Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds

好了,到目前为止,已经完全满足要求了,下面再补充一些在解决问题的过程中,学习到的知识

139,135端口

这两个端口都是netbios协议占用的,只要windows主机,安装了NetBIOS协议,或者说只要可以访问共享文件,那这两个端口一般是打开的,

139是TCP,135的UDP,具体的作用我懒的去复制,反正就是和共享文件有关,通过这两个端口,可以查询共享文件,登录用户名,操作系统等信息,

网上也有好多貌似专业的135,139漏洞攻击方法,实际上大部分都是在危言耸听,这两个端口如果设置的不好,确实会有安全漏洞,但是,XP的默认配置应该安全性还是可以的,不可能说只要开放这个端口,计算机就有危险,

那些所谓教程,都是需要很高的权限才能实现,但是如果有这么高的权限,那随便怎么弄,都是可以轻松入侵的。就跟你把家里的钥匙贴在大门上(还贴个字条说这是我的钥匙),然后忘记关窗户一样,正常的小偷肯定是开门进来而不会去翻窗户的

nmap的其他参数

-sS 使用半开TCP进行测试,关于半开连接,可以参考有关资料(我大概了解,但是写起来太浪费时间),半开连接的好处是可以避免大部分系统把这个连接记录到系统日至,这对入侵者当然很重要了,总不能去别人家里偷东西,还留个手机号码吧。如果使用这个参数,需要root权限,我估计应该是用raw socket实现的,所以需要root权限 -v 这个参数可以出现多次,表示需要nmap现实更详细的报告,还是更更详细的报告,还是更更更详细的报告 另外,IP的表示方法有很多种,比如 192.168.1.88这种是单个IP, 192.168.1,2.88表示192.168.1.88和192.168.2.88 192.168.1-254.88表示254个IP 192.168.1-2,4-100.2,3,12-15表示很多个IP(-.-!) 192.168.1.0/24是另一种表示方法,和192.168.1.0-255等效,后面的24表示这个IP的前24bit保持不变,后面的8bit遍历所有可能 192.168.1.0/0 这个将扫描整个网络,相信没谁有时间等到扫描完

nmap部分示例

扫描192.168.1和192.168.18这两个网段哪些IP开着

$ nmap -sP -T4 192.168.1,18.1-254

这里-sP表示仅进行ping测试,即使主机存在,也不进行端口扫描,这样可以节省时间

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有