关于地图
地图 是一种用于确定正在运行的主机以及这些主机正在运行哪些服务的工具。 Nmap 可以成为网络管理员的宝贵诊断工具,同时也可以成为黑帽社区(Hackers、Crackers、Script Kiddies 等)的强大侦察工具。 使用 Lan MapShot 等工具绘制网络图后,Nmap 可用于确定网络中运行的服务和主机的类型。
在本文中,我们将介绍一些有用的 Linux 实践示例 纳米命令. 的主要用途 映射 是:
- 确定主机中运行的开放端口和服务
- 确定主机上运行的操作系统
- 更改扫描的源 IP(一种方法是使用 -S 选项)
安装 Nmap
要在 Ubuntu/Debian 下安装 namap 命令,请打开您的终端并输入以下命令:
sudo apt-get install nmap
在 Centos/Redhat 下安装 nmap 可以使用这个命令。
sudo yum install nmap
在你的 linux 服务器上安装 nmap 后,我们将看到这个真棒命令的 10 个实际例子。
发现子网中的 IP
这是 nmap 最简单的用法之一。 这个命令通常被称为“ping 扫描”,它告诉 nmap 向指定子网中的所有主机发送 icmp 回显请求、TCP SYN 到端口 443、TCP ACK 到端口 80 和 icmp 时间戳请求。
然后你会得到一个有 ip 响应的主机列表。
$ nmap -sP 172.16.0.0/24
Starting Nmap 5.21 ( https://nmap.org ) at 2015-06-23 09:37 EST
Nmap scan report for 172.16.0.1
Host is up (0.0010s latency).
Nmap scan report for 172.16.0.95
Host is up (0.0031s latency).
Nmap scan report for 172.16.0.110
Host is up (0.0018s latency).
检查并扫描开放端口
该命令是 nmap 的默认使用。 因为 nmap 将尝试与 1000 个最常见端口的 TCP SYN 连接以及 icmp 回显请求来确定主机是否启动,所以需要时间来给您响应。 nmap 还将对识别的 ip 执行 DNS 反向查找,因为这有时可能是有用的信息。
$ nmap 172.16.0.0/24
Starting Nmap 5.21 ( https://nmap.org ) at 2015-06-23 09:39 EST
Nmap scan report for 172.16.0.1
Host is up (0.0043s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
识别主机的操作系统
要使用 nmap 识别主机的操作系统,您可以使用选项 -O 来完成。 但是操作系统扫描确实需要 root 权限。
# nmap -O 172.16.0.15
Starting Nmap 5.21 ( https://nmap.org ) at 2015-06-23 09:49 EST
Nmap scan report for 172.16.0.15
Host is up (0.00032s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
88/tcp open kerberos-sec
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
MAC Address: 00:00:00:00:00:00 (Unknown)
Device type: general purpose
Running: Apple Mac OS X 10.5.X
OS details: Apple Mac OS X 10.5 - 10.6 (Leopard - Snow Leopard) (Darwin 9.0.0b5 - 10.0.0)
Network Distance: 1 hop
识别主机名
此外,namp 允许您查找子网中所有 ip 的主机名,而无需向各个主机本身发送数据包。
使用-sL
选项告诉 nmap 为指定的 ip 做一个简单的 DNS 查询。 此扫描不需要 root 权限。
$ nmap -sL 172.16.0.0/24
Starting Nmap 5.21 ( https://nmap.org ) at 2015-06-23 09:59 EST
Nmap scan report for 172.16.0.0
Nmap scan report for router.local (172.16.0.1)
Nmap scan report for myhost.local (172.16.0.2)
Nmap scan report for another.myhost.local (172.16.0.3)
扫描 TCP 和 UDP 端口
这个命令 nmap -sS -sU -PN 将检查大约 2000 个常见的 tcp 和 udp 端口,看看它们是否有响应。 当您使用该选项时
-Pn,
nmap 将跳过 ping 扫描并假设主机已启动。 这对于检查防火墙是否阻止 icmp 回复很有用。 但是这个扫描需要root权限。
# nmap -sS -sU -PN 172.16.0.16
Starting Nmap 5.21 ( https://nmap.org ) at 2015-06-23 10:25 EST
Nmap scan report for 172.16.0.16
Host is up (0.00029s latency).
Not shown: 1494 closed ports, 496 filtered ports
PORT STATE SERVICE
88/tcp open kerberos-sec
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
88/udp open|filtered kerberos-sec
123/udp open ntp
137/udp open netbios-ns
138/udp open|filtered netbios-dgm
631/udp open|filtered ipp
5353/udp open zeroconf
扫描所有端口 TCP 和 UDP
此命令需要 root 权限,它与上面相同,但是通过指定从 1 到 65535 的完整端口范围,nmap 将扫描以查看主机是否正在侦听所有可用端口。 您可以在执行端口扫描的任何扫描中使用端口范围规范。
# nmap -sS -sU -PN -p 1-65535 172.16.0.14
Starting Nmap 5.21 ( https://nmap.org ) at 2015-06-23 10:18 EST
Nmap scan report for 172.16.0.14
Host is up (0.00029s latency).
Not shown: 131052 closed ports
PORT STATE SERVICE
88/tcp open kerberos-sec
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
17500/tcp open unknown
88/udp open|filtered kerberos-sec
123/udp open ntp
137/udp open netbios-ns
138/udp open|filtered netbios-dgm
631/udp open|filtered ipp
5353/udp open zeroconf
17500/udp open|filtered unknown
51657/udp open|filtered unknown
54658/udp open|filtered unknown
56128/udp open|filtered unknown
57798/udp open|filtered unknown
58488/udp open|filtered unknown
60027/udp open|filtered unknown
扫描 TCP 连接
此命令将要求操作系统与 1000 个公共端口建立 TCP 连接。
$ nmap -sT 172.16.0.14
Starting Nmap 5.21 ( https://nmap.org ) at 2015-06-23 10:48 EST
Nmap scan report for 172.16.0.14
Host is up (0.0014s latency).
Not shown: 964 closed ports, 32 filtered ports
PORT STATE SERVICE
88/tcp open kerberos-sec
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
快速扫描
您可以使用此扫描来检查最常见的 100 个端口。
$ nmap -T4 -F 172.16.0.14
Starting Nmap 6.01 ( https://nmap.org ) at 2015-06-23 10:49 EST
Nmap scan report for 172.16.0.14
Host is up (0.00047s latency).
Not shown: 96 closed ports
PORT STATE SERVICE
88/tcp open kerberos-sec
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
侵略性和侵入性扫描
与之前的命令不同,此扫描非常激进且非常突兀。 选项
-遗嘱
告诉 nmap 执行操作系统检查和版本检查。 这
-T4
用于速度模板,这些模板告诉 nmap 执行扫描的速度。
$ nmap -T4 -A 172.16.0.0/24
Nmap scan report for 172.16.0.9
Host is up (0.00060s latency).
Not shown: 996 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1 (protocol 2.0)
| ssh-hostkey: 1024 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:6c (DSA)
|_2048 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:6c (RSA)
80/tcp open http nginx 1.1.19
|_http-title: 403 Forbidden
|_http-methods: No Allow or Public header in OPTIONS response (status code 405)
111/tcp open rpcbind
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100003 2,3,4 2049/tcp nfs
| 100003 2,3,4 2049/udp nfs
| 100005 1,2,3 46448/tcp mountd
| 100005 1,2,3 52408/udp mountd
| 100021 1,3,4 35394/udp nlockmgr
| 100021 1,3,4 57150/tcp nlockmgr
| 100024 1 49363/tcp status
| 100024 1 51515/udp status
| 100227 2,3 2049/tcp nfs_acl
|_ 100227 2,3 2049/udp nfs_acl
2049/tcp open nfs (nfs V2-4) 2-4 (rpc #100003)
Service Info: OS: Linux; CPE: cpe:/o:linux:kernel
冗长的
最后一个命令是详细的。当您向上面的命令行添加详细信息时,您将获得有关 nmap 正在做什么和检查的更好信息 example:
$ nmap -T4 -A -v 172.16.0.16
Starting Nmap 6.01 ( https://nmap.org ) at 2015-06-23 12:50 EST
NSE: Loaded 93 scripts for scanning.
NSE: Script Pre-scanning.
Initiating Ping Scan at 12:50
Scanning 192.168.0.164 [2 ports]
Completed Ping Scan at 12:50, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 12:50
Completed Parallel DNS resolution of 1 host. at 12:50, 0.01s elapsed
Initiating Connect Scan at 12:50
Scanning 192.168.0.164 [1000 ports]
Discovered open port 139/tcp on 172.16.0.16
Discovered open port 445/tcp on 172.16.0.16
Discovered open port 88/tcp on 172.16.0.16
Discovered open port 631/tcp on 172.16.0.16
Completed Connect Scan at 12:50, 5.22s elapsed (1000 total ports)
Initiating Service scan at 12:50
Scanning 4 services on 172.16.0.16
Completed Service scan at 12:51, 11.00s elapsed (4 services on 1 host)
NSE: Script scanning 172.16.0.16.
Initiating NSE at 12:51
Completed NSE at 12:51, 12.11s elapsed
Nmap scan report for 172.16.0.16
Host is up (0.00026s latency).
Not shown: 996 closed ports
PORT STATE SERVICE VERSION
88/tcp open kerberos-sec Mac OS X kerberos-sec
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
631/tcp open ipp CUPS 1.4
| http-methods: GET HEAD OPTIONS POST PUT
| Potentially risky methods: PUT
|_See https://nmap.org/nsedoc/scripts/http-methods.html
| http-robots.txt: 1 disallowed entry
|_/
Service Info: OS: Mac OS X; CPE: cpe:/o:apple:mac_os_x
我们几乎涵盖了 纳米命令. 如果我们仍然遗漏了任何选项,并且您希望将其包含在此列表中,请通过评论框更新我们。 谢谢你?