map即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具。Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口。它会扫描远程在线主机,该主机的操作系统,包过滤器和开放的端口。

我将用两个不同的部分来涵盖大部分NMAP的使用方法,这是nmap关键的第一部分。在下面的设置中,我使用两台已关闭防火墙的服务器来测试Nmap命令的工作情况。

  1. 192.168.0.100 – server1.tecmint.com
  2. 192.168.0.101 – server2.tecmint.com

NMAP命令用法

  1. # nmap [Scan Type(s)] [Options] {target specification}

如何在Linux下安装NMAP

现在大部分Linux的发行版本像Red Hat,CentOS,Fedoro,Debian和Ubuntu在其默认的软件包管理库(即Yum 和 APT)中都自带了Nmap,这两种工具都用于安装和管理软件包和更新。在发行版上安装Nmap具体使用如下命令。

  1. # yum install nmap      [on Red Hat based systems]
  2. $ sudo apt-get install nmap [on Debian based systems]

一旦你安装了最新的nmap应用程序,你就可以按照本文中提供的示例说明来操作。

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

Nmap工具提供各种方法来扫描系统。在这个例子中,我使用server2.tecmint.com主机名来扫描系统找出该系统上所有开放的端口,服务和MAC地址。

使用主机名扫描

  1. [root@server1 ~]# nmap server2.tecmint.com
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 15:42 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 0.415 seconds
  14. You have new mail in /var/spool/mail/root

使用IP地址扫描

  1. [root@server1 ~]# nmap 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-18 11:04 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 958/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 0.465 seconds
  14. You have new mail in /var/spool/mail/root

2.扫描使用“-v”选项

你可以看到下面的命令使用“ -v “选项后给出了远程机器更详细的信息。

  1. [root@server1 ~]# nmap -v server2.tecmint.com
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 15:43 EST
  3. Initiating ARP Ping Scan against 192.168.0.101 [1 port] at 15:43
  4. The ARP Ping Scan took 0.01s to scan 1 total hosts.
  5. Initiating SYN Stealth Scan against server2.tecmint.com (192.168.0.101) [1680 ports] at 15:43
  6. Discovered open port 22/tcp on 192.168.0.101
  7. Discovered open port 80/tcp on 192.168.0.101
  8. Discovered open port 8888/tcp on 192.168.0.101
  9. Discovered open port 111/tcp on 192.168.0.101
  10. Discovered open port 3306/tcp on 192.168.0.101
  11. Discovered open port 957/tcp on 192.168.0.101
  12. The SYN Stealth Scan took 0.30s to scan 1680 total ports.
  13. Host server2.tecmint.com (192.168.0.101) appears to be up ... good.
  14. Interesting ports on server2.tecmint.com (192.168.0.101):
  15. Not shown: 1674 closed ports
  16. PORT     STATE SERVICE
  17. 22/tcp   open  ssh
  18. 80/tcp   open  http
  19. 111/tcp  open  rpcbind
  20. 957/tcp  open  unknown
  21. 3306/tcp open  mysql
  22. 8888/tcp open  sun-answerbook
  23. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  24. Nmap finished: 1 IP address (1 host up) scanned in 0.485 seconds
  25. Raw packets sent: 1681 (73.962KB) | Rcvd: 1681 (77.322KB)

3.扫描多台主机

你可以简单的在Nmap命令后加上多个IP地址或主机名来扫描多台主机。

  1. [root@server1 ~]# nmap 192.168.0.101 192.168.0.102 192.168.0.103
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:06 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 3 IP addresses (1 host up) scanned in 0.580 seconds

4.扫描整个子网

你可以使用*通配符来扫描整个子网或某个范围的IP地址。

  1. [root@server1 ~]# nmap 192.168.0.*
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:11 EST
  3. Interesting ports on server1.tecmint.com (192.168.0.100):
  4. Not shown: 1677 closed ports
  5. PORT    STATE SERVICE
  6. 22/tcp  open  ssh
  7. 111/tcp open  rpcbind
  8. 851/tcp open  unknown
  9. Interesting ports on server2.tecmint.com (192.168.0.101):
  10. Not shown: 1674 closed ports
  11. PORT     STATE SERVICE
  12. 22/tcp   open  ssh
  13. 80/tcp   open  http
  14. 111/tcp  open  rpcbind
  15. 957/tcp  open  unknown
  16. 3306/tcp open  mysql
  17. 8888/tcp open  sun-answerbook
  18. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  19. Nmap finished: 256 IP addresses (2 hosts up) scanned in 5.550 seconds
  20. You have new mail in /var/spool/mail/root

从上面的输出可以看到,nmap扫描了整个子网,给出了网络中当前网络中在线主机的信息。

5.使用IP地址的最后一个字节扫描多台服务器

你可以简单的指定IP地址的最后一个字节来对多个IP地址进行扫描。例如,我在下面执行中扫描了IP地址192.168.0.101,192.168.0.102和192.168.0.103。

  1. [root@server1 ~]# nmap 192.168.0.101,102,103
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:09 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 3 IP addresses (1 host up) scanned in 0.552 seconds
  14. You have new mail in /var/spool/mail/root

6. 从一个文件中扫描主机列表

如果你有多台主机需要扫描且所有主机信息都写在一个文件中,那么你可以直接让nmap读取该文件来执行扫描,让我们来看看如何做到这一点。

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

  1. [root@server1 ~]# cat > nmaptest.txt
  2. localhost
  3. server2.tecmint.com
  4. 192.168.0.101

接下来运行带“iL” 选项的nmap命令来扫描文件中列出的所有IP地址。

  1. [root@server1 ~]# nmap -iL nmaptest.txt
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-18 10:58 EST
  3. Interesting ports on localhost.localdomain (127.0.0.1):
  4. Not shown: 1675 closed ports
  5. PORT    STATE SERVICE
  6. 22/tcp  open  ssh
  7. 25/tcp  open  smtp
  8. 111/tcp open  rpcbind
  9. 631/tcp open  ipp
  10. 857/tcp open  unknown
  11. Interesting ports on server2.tecmint.com (192.168.0.101):
  12. Not shown: 1674 closed ports
  13. PORT     STATE SERVICE
  14. 22/tcp   open  ssh
  15. 80/tcp   open  http
  16. 111/tcp  open  rpcbind
  17. 958/tcp  open  unknown
  18. 3306/tcp open  mysql
  19. 8888/tcp open  sun-answerbook
  20. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  21. Interesting ports on server2.tecmint.com (192.168.0.101):
  22. Not shown: 1674 closed ports
  23. PORT     STATE SERVICE
  24. 22/tcp   open  ssh
  25. 80/tcp   open  http
  26. 111/tcp  open  rpcbind
  27. 958/tcp  open  unknown
  28. 3306/tcp open  mysql
  29. 8888/tcp open  sun-answerbook
  30. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  31. Nmap finished: 3 IP addresses (3 hosts up) scanned in 2.047 seconds

7.扫描一个IP地址范围

你可以在nmap执行扫描时指定IP范围。

  1. [root@server1 ~]# nmap 192.168.0.101-110
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:09 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 10 IP addresses (1 host up) scanned in 0.542 seconds

8.排除一些远程主机后再扫描

在执行全网扫描或用通配符扫描时你可以使用“-exclude”选项来排除某些你不想要扫描的主机。

  1. [root@server1 ~]# nmap 192.168.0.* --exclude 192.168.0.100
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:16 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 255 IP addresses (1 host up) scanned in 5.313 seconds
  14. You have new mail in /var/spool/mail/root

9.扫描操作系统信息和路由跟踪

使用Nmap,你可以检测远程主机上运行的操作系统和版本。为了启用操作系统和版本检测,脚本扫描和路由跟踪功能,我们可以使用NMAP的“-A“选项。

  1. [root@server1 ~]# nmap -A 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:25 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE VERSION
  6. 22/tcp   open  ssh     OpenSSH 4.3 (protocol 2.0)
  7. 80/tcp   open  http    Apache httpd 2.2.3 ((CentOS))
  8. 111/tcp  open  rpcbind  2 (rpc #100000)
  9. 957/tcp  open  status   1 (rpc #100024)
  10. 3306/tcp open  mysql   MySQL (unauthorized)
  11. 8888/tcp open  http    lighttpd 1.4.32
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. No exact OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi).
  14. TCP/IP fingerprint:
  15. SInfo(V=4.11%P=i686-redhat-linux-gnu%D=11/11%Tm=52814B66%O=22%C=1%M=080027)
  16. TSeq(Class=TR%IPID=Z%TS=1000HZ)
  17. T1(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
  18. T2(Resp=N)
  19. T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
  20. T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
  21. T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
  22. T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
  23. T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
  24. PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)
  25. Uptime 0.169 days (since Mon Nov 11 12:22:15 2013)
  26. Nmap finished: 1 IP address (1 host up) scanned in 22.271 seconds

从上面的输出你可以看到,Nmap显示出了远程主机操作系统的TCP / IP协议指纹,并且更加具体的显示出远程主机上的端口和服务。

10.启用Nmap的操作系统探测功能

使用选项“-O”和“-osscan-guess”也帮助探测操作系统信息。

  1. [root@server1 ~]# nmap -O server2.tecmint.com
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:40 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. No exact OS matches for host (If you know what OS is running on it, see http://www.insecure.org/cgi-bin/nmap-submit.cgi).
  14. TCP/IP fingerprint:
  15. SInfo(V=4.11%P=i686-redhat-linux-gnu%D=11/11%Tm=52815CF4%O=22%C=1%M=080027)
  16. TSeq(Class=TR%IPID=Z%TS=1000HZ)
  17. T1(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
  18. T2(Resp=N)
  19. T3(Resp=Y%DF=Y%W=16A0%ACK=S++%Flags=AS%Ops=MNNTNW)
  20. T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=Option -O and -osscan-guess also helps to discover OS
  21. R%Ops=)
  22. T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
  23. T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
  24. T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
  25. PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)
  26. Uptime 0.221 days (since Mon Nov 11 12:22:16 2013)
  27. Nmap finished: 1 IP address (1 host up) scanned in 11.064 seconds
  28. You have new mail in /var/spool/mail/root

11.扫描主机侦测防火墙

下面的命令将扫描远程主机以探测该主机是否使用了包过滤器或防火墙。

  1. [root@server1 ~]# nmap -sA 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:27 EST
  3. All 1680 scanned ports on server2.tecmint.com (192.168.0.101) are UNfiltered
  4. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  5. Nmap finished: 1 IP address (1 host up) scanned in 0.382 seconds
  6. You have new mail in /var/spool/mail/root

12.扫描主机检测是否有防火墙保护

扫描主机检测其是否受到数据包过滤软件或防火墙的保护。

  1. [root@server1 ~]# nmap -PN 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:30 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 0.399 seconds

13.找出网络中的在线主机

使用“-sP”选项,我们可以简单的检测网络中有哪些在线主机,该选项会跳过端口扫描和其他一些检测。

  1. [root@server1 ~]# nmap -sP 192.168.0.*
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-18 11:01 EST
  3. Host server1.tecmint.com (192.168.0.100) appears to be up.
  4. Host server2.tecmint.com (192.168.0.101) appears to be up.
  5. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  6. Nmap finished: 256 IP addresses (2 hosts up) scanned in 5.109 seconds

14.执行快速扫描

你可以使用“-F”选项执行一次快速扫描,仅扫描列在nmap-services文件中的端口而避开所有其它的端口。

  1. [root@server1 ~]# nmap -F 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:47 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1234 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 3306/tcp open  mysql
  10. 8888/tcp open  sun-answerbook
  11. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  12. Nmap finished: 1 IP address (1 host up) scanned in 0.322 seconds

15.查看Nmap的版本

你可以使用“-V”选项来检测你机子上Nmap的版本。

  1. [root@server1 ~]# nmap -V
  2. Nmap version 4.11 ( http://www.insecure.org/nmap/ )
  3. You have new mail in /var/spool/mail/root

16.顺序扫描端口

使用“-r”选项表示不会随机的选择端口扫描。

  1. [root@server1 ~]# nmap -r 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 16:52 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 0.363 seconds

17.打印主机接口和路由

你可以使用nmap的“–iflist”选项检测主机接口和路由信息。

  1. [root@server1 ~]# nmap --iflist
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:07 EST
  3. ************************INTERFACES************************
  4. DEV  (SHORT) IP/MASK          TYPE     UP MAC
  5. lo   (lo)    127.0.0.1/8      loopback up
  6. eth0 (eth0)  192.168.0.100/24 ethernet up 08:00:27:11:C7:89
  7. **************************ROUTES**************************
  8. DST/MASK      DEV  GATEWAY
  9. 192.168.0.0/0 eth0
  10. 169.254.0.0/0 eth0

从上面的输出你可以看到,nmap列举出了你系统上的接口以及它们各自的路由信息。

18.扫描特定的端口

使用Nmap扫描远程机器的端口有各种选项,你可以使用“-P”选项指定你想要扫描的端口,默认情况下nmap只扫描TCP端口。

  1. [root@server1 ~]# nmap -p 80 server2.tecmint.com
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:12 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. PORT   STATE SERVICE
  5. 80/tcp open  http
  6. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  7. Nmap finished: 1 IP address (1 host up) sca

19.扫描TCP端口

你可以指定具体的端口类型和端口号来让nmap扫描。

  1. [root@server1 ~]# nmap -p T:8888,80 server2.tecmint.com
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:15 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. PORT     STATE SERVICE
  5. 80/tcp   open  http
  6. 8888/tcp open  sun-answerbook
  7. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  8. Nmap finished: 1 IP address (1 host up) scanned in 0.157 seconds

20.扫描UDP端口

  1. [root@server1 ~]# nmap -sU 53 server2.tecmint.com
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:15 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. PORT     STATE SERVICE
  5. 53/udp   open  http
  6. 8888/udp open  sun-answerbook
  7. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  8. Nmap finished: 1 IP address (1 host up) scanned in 0.157 seconds

21.扫描多个端口

你还可以使用选项“-P”来扫描多个端口。

  1. [root@server1 ~]# nmap -p 80,443 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-18 10:56 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. PORT    STATE  SERVICE
  5. 80/tcp  open   http
  6. 443/tcp closed https
  7. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  8. Nmap finished: 1 IP address (1 host up) scanned in 0.190 seconds

22.扫描指定范围内的端口

您可以使用表达式来扫描某个范围内的端口。

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

23.查找主机服务版本号

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

  1. [root@server1 ~]# nmap -sV 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:48 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE VERSION
  6. 22/tcp   open  ssh     OpenSSH 4.3 (protocol 2.0)
  7. 80/tcp   open  http    Apache httpd 2.2.3 ((CentOS))
  8. 111/tcp  open  rpcbind  2 (rpc #100000)
  9. 957/tcp  open  status   1 (rpc #100024)
  10. 3306/tcp open  mysql   MySQL (unauthorized)
  11. 8888/tcp open  http    lighttpd 1.4.32
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 12.624 seconds

24.使用TCP ACK (PA)和TCP Syn (PS)扫描远程主机

有时候包过滤防火墙会阻断标准的ICMP ping请求,在这种情况下,我们可以使用TCP ACK和TCP Syn方法来扫描远程主机。

  1. [root@server1 ~]# nmap -PS 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 17:51 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 0.360 seconds
  14. You have new mail in /var/spool/mail/root

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

  1. [root@server1 ~]# nmap -PA -p 22,80 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:02 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. PORT   STATE SERVICE
  5. 22/tcp open  ssh
  6. 80/tcp open  http
  7. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  8. Nmap finished: 1 IP address (1 host up) scanned in 0.166 seconds
  9. You have new mail in /var/spool/mail/root

26. 使用TCP Syn扫描远程主机上特定的端口

  1. [root@server1 ~]# nmap -PS -p 22,80 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:08 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. PORT   STATE SERVICE
  5. 22/tcp open  ssh
  6. 80/tcp open  http
  7. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  8. Nmap finished: 1 IP address (1 host up) scanned in 0.165 seconds
  9. You have new mail in /var/spool/mail/root

27.执行一次隐蔽的扫描

  1. [root@server1 ~]# nmap -sS 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:10 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 0.383 seconds
  14. You have new mail in /var/spool/mail/root

28.使用TCP Syn扫描最常用的端口

  1. [root@server1 ~]# nmap -sT 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 18:12 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE SERVICE
  6. 22/tcp   open  ssh
  7. 80/tcp   open  http
  8. 111/tcp  open  rpcbind
  9. 957/tcp  open  unknown
  10. 3306/tcp open  mysql
  11. 8888/tcp open  sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 0.406 seconds
  14. You have new mail in /var/spool/mail/root

29.执行TCP空扫描以骗过防火墙

  1. [root@server1 ~]# nmap -sN 192.168.0.101
  2. Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-11-11 19:01 EST
  3. Interesting ports on server2.tecmint.com (192.168.0.101):
  4. Not shown: 1674 closed ports
  5. PORT     STATE         SERVICE
  6. 22/tcp   open|filtered ssh
  7. 80/tcp   open|filtered http
  8. 111/tcp  open|filtered rpcbind
  9. 957/tcp  open|filtered unknown
  10. 3306/tcp open|filtered mysql
  11. 8888/tcp open|filtered sun-answerbook
  12. MAC Address: 08:00:27:D9:8E:D7 (Cadmus Computer Systems)
  13. Nmap finished: 1 IP address (1 host up) scanned in 1.584 seconds
  14. You have new mail in /var/spool/mail/root

以上就是NMAP的基本使用,我会在第二部分带来NMAP更多的创意选项。至此,敬请关注我们,不要忘记分享您的宝贵意见。

给Linux系统管理员准备的Nmap命令的29个实用范例的更多相关文章

  1. [转]给Linux系统管理员准备的Nmap命令的29个实用范例+ tsysv 系统服务器管理器

    原文链接:http://os.51cto.com/art/201401/428152.htm Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探 ...

  2. (转)Nmap命令的29个实用范例

    Nmap命令的29个实用范例 原文:http://os.51cto.com/art/201401/428152.htm Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具. ...

  3. 给Linux系统/网络管理员准备的Nmap命令的29个实用范例

    我将用两个不同的部分来涵盖大部分NMAP的使用方法,这是nmap关键的第一部分.在下面的设置中,我使用两台已关闭防火墙的服务器来测试Nmap命令的工作情况. 192.168.0.100 – serve ...

  4. Nmap命令的29个实用范例

    Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器 ...

  5. Linux系统管理员不可不知的命令:sudo

    对Linux系统管理员或高级用户而言,sudo是必不可少的最重要的命令之一.当我们想要运行重要任务时,sudo提供了安全的提升权限.请耐心读本文,看看sudo能为你做些什么. sudo是个统管一切的命 ...

  6. Linux 命令的20个实用范例,入门必看!

    Tips: 达内Linux云计算免费课程火热抢报中,点击文末“阅读原文”快速抢! Linux中一个基本命令是ls.没有这个命令,我们会在浏览目录条目时会遇到困难.这个命令必须被每个学习Linux的人知 ...

  7. ls命令的20个实用范例

    contents ls -l -h -lhS -l --block-size=M -a -d */ -g -G -n --color=never -i -p -r -R -t ls ~ ls --ve ...

  8. 【转】ls 命令的 20 个实用范例

    Linux中一个基本命令是ls.没有这个命令,我们会在浏览目录条目时会遇到困难.这个命令必须被每个学习Linux的人知道. ls是什么 ls命令用于列出文件和目录.默认上,他会列出当前目录的内容.带上 ...

  9. Linux系统管理员命令:sudo

    sudo是个统管一切的命令.它的字面意思是代表“超级用户才能做!”(super user do!)对Linux系统管理员或高级用户而言,它是必不可少的最重要的命令之一.你可曾有过这样的经历:在终端中试 ...

随机推荐

  1. Pcap4J实现抓包器

    前段时间搞抓包程序,打算使用Pcap4J实现,发现除了GitHub,其它资料少之又少,几乎都是不起作用. 被迫我一直看(日本作者!)英文注解的源码和sample和test,比较费劲+营养很少.因为几乎 ...

  2. 随机森林学习-sklearn

    随机森林的Python实现 (RandomForestClassifier) # -*- coding: utf- -*- """ RandomForestClassif ...

  3. as 插件GsonFormat用法(json字符串快速生成javabean)

    GsonFormat 主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 插件地址:https://plugins.jetbra ...

  4. Python最佳学习路线图

    python语言基础(1)Python3入门,数据类型,字符串(2)判断/循环语句,函数,命名空间,作用域(3)类与对象,继承,多态(4)tkinter界面编程(5)文件与异常,数据处理简介(6)Py ...

  5. raindi python魔法函数(一)之__repr__与__str__

    __repr__和__str__都是python中的特殊方法,都是用来输出实例对象的,如果没有定义这两个方法在打印的时候只会输出实例所在的内存地址 这种方式的输出没有可读性,并不能直观的体现实例.py ...

  6. react之自定义react-redux的provider、connect

    Provider // Provider把store放到context里,所有的子元素可以直接取到store import React from 'react' import PropTypes fr ...

  7. Java集合(Collection)综述

    1.集合简介 数学定义:一般地,我们把研究对象统称为元素.把一些元素组成的总体叫做集合. java集合定义:集合就是一个放数据的容器,准确的说是放数据对象引用的容器. java中通用集合类存放于jav ...

  8. laravel migrate 指定执行部分 migration

    由于我不习惯于使用 laravel migration 来管理数据表变更,所以很多项目都是无法直接执行 php artisan migrate 否则会报错 SQLSTATE[42S01]: Base ...

  9. python 全栈开发,Day85(Git补充,随机生成图片验证码)

    昨日内容回顾 第一部分:django相关 1.django请求生命周期 1. 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这 ...

  10. python 全栈开发,Day40(进程间通信(队列和管道),进程间的数据共享Manager,进程池Pool)

    昨日内容回顾 进程 multiprocess Process —— 进程 在python中创建一个进程的模块 start daemon 守护进程 join 等待子进程执行结束 锁 Lock acqui ...