Linux中的NMAP示例

时间:2020-03-21 11:46:26  来源:igfitidea点击:

Linux示例中的NMAP(在Rhel上测试)

长期以来,nmap一直用作系统管理员的网络监视和扫描工具,甚至极客和黑客以及安全部门的成员都使用此工具进行渗透测试。

Nmap OS指纹技术使用的技术是,该技术曾经将多达16个TCP,UDP和ICMP探针发送到目标计算机的已知打开和关闭端口,然后侦听响应。

NMAP实用程序用于扫描本地或者远程计算机上的端口

(只是我们需要ip-address/hostname进行扫描)。

它可以安装在Windows上,也可以安装在Sun Solaris机器上。

它可以用于扫描大型网络以及小型网络。
因此,我们可以说它可用于扫描任何类型的网络。

示例1:扫描特定系统的开放端口

#nmap 主机名
[root@theitroad ~]# nmap theitroad.com
Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:36 IST
Interesting ports on theitroad.com (192.168.1.1):
Not shown: 1676 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
111/tcp open  rpcbind
605/tcp open  unknown
Nmap finished: 1 IP address (1 host up) scanned in 0.107 seconds

这将有助于我们扫描要了解的特定主机或者要扫描的主机。

示例2:如何扫描计算机上的单个端口

#nmap –p 22主机名

此处的主机名是theitroad.com

因此,让我们开始扫描单个端口,例如:主机theitroad.com上的端口22

[root@theitroad ~]# nmap -p 22 theitroad.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:19 IST
Interesting ports on theitroad.com (192.168.1.1):
PORT   STATE SERVICE
22/tcp open  ssh

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

现在,它将扫描主机上是否打开了22端口。

是的,这里-p表示端口号,22是ssh服务器的端口号。

示例3:如果我只想扫描端口怎么办?

#nmap –F 主机名
[root@theitroad ~]# nmap -F theitroad.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:18 IST
Interesting ports on theitroad.com (192.168.1.1):
Not shown: 1236 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
111/tcp open  rpcbind

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

-F用于快速扫描,它将不执行任何其他扫描,例如IP地址,主机名,操作系统和正常运行时间等。

示例4 。我们将只扫描TCP端口会做什么(即我们不需要在这里扫描udp端口,我们这样做是为了优化监视)

#nmap –sT 主机名
[root@theitroad ~]# nmap -sT theitroad.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:22 IST
Interesting ports on theitroad.com (192.168.1.1):
Not shown: 1676 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
111/tcp open  rpcbind
605/tcp open  unknown

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

这里s表示扫描,表示所有端口均为TCP端口

示例5:如何只扫描UDP端口(即这里我们只想扫描udp端口而不是tcp)

#nmap –sU 主机名
[root@theitroad ~]# nmap -sU theitroad.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:23 IST
Interesting ports on theitroad.com (192.168.1.1):
Not shown: 1482 closed ports
PORT     STATE         SERVICE
111/udp  open|filtered rpcbind
123/udp  open|filtered ntp
602/udp  open|filtered unknown
631/udp  open|filtered unknown
1023/udp open|filtered unknown

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

这里的字母U表示UDP端口。

示例6:扫描端口并获取在该计算机上运行的不同服务的版本是什么

#nmap –sV 主机名
[root@theitroad ~]# nmap -sV theitroad.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:25 IST
Interesting ports on theitroad.com (192.168.1.1):
Not shown: 1676 closed ports
PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 4.3 (protocol 2.0)
80/tcp  open  http    Apache httpd 2.2.3 ((Red Hat))
111/tcp open  rpcbind  2 (rpc #100000)
605/tcp open  status   1 (rpc #100024)

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

V表示在该主机上运行的每个网络服务的版本

示例7:如何检查远程系统支持哪种协议?

#nmap –sO 主机名
[root@theitroad ~]# nmap -sO theitroad.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:28 IST
Interesting protocols on theitroad.com (192.168.1.1):
Not shown: 250 closed protocols
PROTOCOL STATE         SERVICE
1        open          icmp                    
2        open|filtered igmp                    
6        open          tcp                     
17       open          udp                     
41       open|filtered ipv6                    
255      open|filtered unknown                 

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

示例8:如何扫描系统以获取操作系统和正常运行时间详细信息?

举例说明。

nmap -O 主机名
[root@theitroad ~]# nmap -O theitroad.com

Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:29 IST
Interesting ports on theitroad.com (192.168.1.1):
Not shown: 1676 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
111/tcp open  rpcbind
605/tcp open  unknown
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).
TCP/IP fingerprint:
SInfo(V=4.11%P=i686-redhat-linux-gnu%D=1/23%Tm=50FFECC5%O=22%C=1)
TSeq(Class=RI%gcd=1%SI=2748CB%IPID=Z%TS=1000HZ)
TSeq(Class=RI%gcd=1%SI=2748F7%IPID=Z%TS=1000HZ)
TSeq(Class=RI%gcd=1%SI=2748FC%IPID=Z%TS=1000HZ)
T1(Resp=Y%DF=Y%W=8000%ACK=S++%Flags=AS%Ops=MNNTNW)
T2(Resp=N)
T3(Resp=Y%DF=Y%W=8000%ACK=S++%Flags=AS%Ops=MNNTNW)
T4(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T5(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
T6(Resp=Y%DF=Y%W=0%ACK=O%Flags=R%Ops=)
T7(Resp=Y%DF=Y%W=0%ACK=S++%Flags=AR%Ops=)
PU(Resp=Y%DF=N%TOS=C0%IPLEN=164%RIPTL=148%RID=E%RIPCK=E%UCK=E%ULEN=134%DAT=E)

Uptime 0.052 days (since Wed Jan 23 18:14:59 2013)

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

说明:

-O在这里告诉我们有关操作系统扫描以及默认端口扫描的信息

  • 在此,T2将具有IP DF位置1和窗口字段为128的TCP空(未设置标志)数据包发送到开放端口。
  • 在此,T3向开放端口发送带有SYN,FIN,URG和PSH标志设置且窗口字段为256的TCP数据包。 IP DF位未设置。
  • 在此,T4将带有IP DF和1024的窗口字段的TCP ACK数据包发送到开放端口。
  • 在此,T5将不带IP DF的TCP SYN数据包和31337的窗口字段发送到封闭端口。
  • 在此,T6将具有IP DF和32768窗口字段的TCP ACK数据包发送到封闭端口。
  • 在此,T7向封闭端口发送设置了FIN,PSH和URG标志且窗口字段为65535的TCP数据包。 IP DF位未设置。

示例9:我们将如何开始扫描网络?

#nmap 网络ID /子网掩码

正如我上面提到的那样,通过观看上面的命令,我们可以按照这种方式尝试

#nmap 192.168.1.0/24
[root@theitroad ~]# nmap 192.168.1.0/24

Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2013-01-23 19:31 IST
Interesting ports on theitroad.com (192.168.1.1):
Not shown: 1676 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
111/tcp open  rpcbind
605/tcp open  unknown

Nmap finished: 256 IP addresses (1 host up) scanned in 5.654 seconds