给Linux系统/网络管理员的nmap的29个实用例子

640?wx_fmt=gif

 

    Nmap亦称为Network Mapper(网络映射)是一个开源并且通用的用于Linux系统/网络管理员的工具。nmap用于探查网络、执行安全扫描、网络核查并且在远程机器上找出开放端口。它可以扫描在线的主机、操作系统、包过滤器和远程主机上的开放端口。

640?wx_fmt=png

 Nmap 命令和示例

  我会分两个章节讲述NMAP的常见的使用方法,这篇是nmap系列的第一部分(译注:原文为I’ll be covering most of NMAP usage in two different parts and this is the first part of nmap serious,这里serious可能为笔误,应该为series)。在这个步骤里,我用两个没有防火墙的服务器来测试nmap命令的工作。

  • 192.168.0.100 – server1.tecmint.com

  • 192.168.0.101 – server2.tecmint.com

  Nmap 命令使用

 
 

  如今大部分Linux发行版像Red Hat, CentOS, Fedoro, DebianUbuntu已经在它们默认的包管理仓库中包含了nmap,可以通过Yum 和 APT安装、管理和更新软件包。在这些发行版上安装nmap,可以使用下面的命令。

 
 

  1. 带主机名和IP地址扫描系统

  nmap工具提供了不同的方法来扫描一个系统。在这个例子中,我使用主机名为server2.tecmint.com的机器执行扫描来找出所有开放端口,服务和系统上的MAC地址。

  使用主机名扫描
 
 
 
 

  你可以看到带"-v"选项的命令给出了关于远程机器的更多信息。

 
 

  你可以简单地通过在namap后写上它们的IP地址或者主机名来扫描多台主机。

[root@server1 ~]# nmap 192.168.0.101 192.168.0.102 192.168.0.103	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:06 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
Not shown: 1674 closed ports	
PORT     STATE SERVICE	
22/tcp   open  ssh	
80/tcp   open  http	
111/tcp  open  rpcbind	
957/tcp  open  unknown	
3306/tcp open  mysql	
8888/tcp open  sun-answerbook	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	
Nmap finished: 3 IP addresses (1 host up) scanned in 0.580 seconds

  4. 扫描整个子网

  你可以通过通配符来使nmap扫描整个子网或者IP段。

 
 

  5. 使用IP地址的最后一段扫描多台主机

  你可以简单地通过指定IP地址的最后8位执行扫描多台主机。比如说,这里我在IP地址为192.168.0.101, 192.168.0.102 and 192.168.0.103的机器上执行了扫描。

 
 

  如果你有更多的主机要扫描,并且所有的主机都写在一个文件中,你可以直接让namp读取它并执行扫描。让我们看看要怎么做。

  创建一个名为“nmaptest.txt”的文本文件,并定义所有你想要扫描的IP地址或者服务器的主机名。

 
 
 
 

  在使用nmap扫描时,你可以指定一个IP范围。

 
 

  你可以在执行全网扫描的时候排除一些主机,或者在使用通配符扫描时使用“–exclude”选项。

 
 

  (译注:原文这里提到了traceroute,实在并无此内容,删除之)

  使用nmap,你可以检测到运行在远程主机上的操作系统和版本。要启用OS及其版本检测,我们可以使用带 “-A” 选项使用nmap。

 
 

  10. 使用nmap启用系统检测

  使用选项“-O”或“-osscan-guess”同样可以发现OS信息。

 
 

  下面的命令会在远程主机上执行扫描来检测主机上是否使用了任何包过滤器或者防火墙。

 
 

  扫描检测一个主机是否受到任何包过滤器软件或者防火墙保护。

 
 

  在“-sP”选项的bang帮助下,我们可以简单地检测网络中的主机是否在线,带这个选项后nmap会跳过端口检测和其他检测。

 
 

  你可以带“-F”选项仅扫描所有列在nmap-services文件中的端口。

 
 

  你可以使用“-V”选项找出运行在你机器上的nmap版本。[root@server1 ~]# nmap -V	

	
Nmap version 4.11 ( http://www.insecure.org/nmap/ )	
You have new mail in /var/spool/mail/root

  16. 连续扫描端口

  使用“-r”选项而不随机排列端口的扫描顺序。

[root@server1 ~]# nmap -r 192.168.0.101	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:52 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
Not shown: 1674 closed ports	
PORT     STATE SERVICE	
22/tcp   open  ssh	
80/tcp   open  http	
111/tcp  open  rpcbind	
957/tcp  open  unknown	
3306/tcp open  mysql	
8888/tcp open  sun-answerbook	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	

	
Nmap finished: 1 IP address (1 host up) scanned in 0.363 seconds	

	

  17. 显示主机接口及路由

  你可以使用nmap的“–iflist”选项来列出本机的主机接口和路由信息。

[root@server1 ~]# nmap --iflist	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:07 EST	
************************INTERFACES************************	
DEV  (SHORT) IP/MASK          TYPE     UP MAC	
lo   (lo)    127.0.0.1/8      loopback up	
eth0 (eth0)  192.168.0.100/24 ethernet up 08:00:27:11:C7:89	

	
**************************ROUTES**************************	
DST/MASK      DEV  GATEWAY	
192.168.0.0/0 eth0	
169.254.0.0/0 eth0

  在上面的输出中,你可以看到上述清单列出了你系统中的已经启用的接口及它们相应的路由。(译注:这样你就知道可以通过这些接口扫描哪些网络了)

  18. 扫描特定端口

  nmap使用不同的选项来发现远程机器上的端口。你可以用“-p”选项指定你想扫描的TCP端口。默认上,nmap只会扫描TCP端口。

[root@server1 ~]# nmap -p 80 server2.tecmint.com	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:12 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
PORT   STATE SERVICE	
80/tcp open  http	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	

	
Nmap finished: 1 IP address (1 host up) sca

  19. 扫描TCP端口

  当然,你可以指定nmap扫描的端口类型(TCP或UDP)和端口号。

 
 
 
 

  你可以使用“-p”选项来指定多个要扫描的端口。

 
 

  你也可以使用表达式指定扫描端口的范围。

[root@server1 ~]#  nmap -p 80-160 192.168.0.101

  23. 找出主机服务版本号

  我们可以使用“-sV”选项找出远程主机上运行的服务及其版本号。

 
 

  有时包过滤防火墙阻止了标准ICMPping请求,在这个情况下,我们可以使用TCP ACKTCP Syn方法来扫描远程主机。

[root@server1 ~]# nmap -PS 192.168.0.101	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:51 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
Not shown: 1674 closed ports	
PORT     STATE SERVICE	
22/tcp   open  ssh	
80/tcp   open  http	
111/tcp  open  rpcbind	
957/tcp  open  unknown	
3306/tcp open  mysql	
8888/tcp open  sun-answerbook	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	

	
Nmap finished: 1 IP address (1 host up) scanned in 0.360 seconds	
You have new mail in /var/spool/mail/root

  25. 用TCP ACK扫描远程主机的特定端口

[root@server1 ~]# nmap -PA -p 22,80 192.168.0.101	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:02 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
PORT   STATE SERVICE	
22/tcp open  ssh	
80/tcp open  http	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	

	
Nmap finished: 1 IP address (1 host up) scanned in 0.166 seconds	
You have new mail in /var/spool/mail/root

  26. 用TCP SYN扫描远程主机的特定端口

[root@server1 ~]# nmap -PS -p 22,80 192.168.0.101	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:08 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
PORT   STATE SERVICE	
22/tcp open  ssh	
80/tcp open  http	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	

	
Nmap finished: 1 IP address (1 host up) scanned in 0.165 seconds	
You have new mail in /var/spool/mail/root

  27. 执行隐秘扫描

[root@server1 ~]# nmap -sS 192.168.0.101	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:10 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
Not shown: 1674 closed ports	
PORT     STATE SERVICE	
22/tcp   open  ssh	
80/tcp   open  http	
111/tcp  open  rpcbind	
957/tcp  open  unknown	
3306/tcp open  mysql	
8888/tcp open  sun-answerbook	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	

	
Nmap finished: 1 IP address (1 host up) scanned in 0.383 seconds	
You have new mail in /var/spool/mail/root

  28. 用TCP SYN扫描最常用的端口

[root@server1 ~]# nmap -sT 192.168.0.101	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:12 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
Not shown: 1674 closed ports	
PORT     STATE SERVICE	
22/tcp   open  ssh	
80/tcp   open  http	
111/tcp  open  rpcbind	
957/tcp  open  unknown	
3306/tcp open  mysql	
8888/tcp open  sun-answerbook	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	

	
Nmap finished: 1 IP address (1 host up) scanned in 0.406 seconds	
You have new mail in /var/spool/mail/root

  29. 执行tcp空扫描来愚弄防火墙

[root@server1 ~]# nmap -sN 192.168.0.101	

	
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 19:01 EST	
Interesting ports on server2.tecmint.com (192.168.0.101):	
Not shown: 1674 closed ports	
PORT     STATE         SERVICE	
22/tcp   open|filtered ssh	
80/tcp   open|filtered http	
111/tcp  open|filtered rpcbind	
957/tcp  open|filtered unknown	
3306/tcp open|filtered mysql	
8888/tcp open|filtered sun-answerbook	
MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)	

	
Nmap finished: 1 IP address (1 host up) scanned in 1.584 seconds	
You have new mail in /var/spool/mail/root

  以上就是NMAP的基本使用

英文:http://www.tecmint.com/nmap-command-examples/

译文:https://linux.cn/article-2561-1.htm

640?wx_fmt=jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值