欢迎来到赛兔子家园

Kali中端口扫描工具Nmap/Dmitry

Nmap的参数和选项繁多,功能非常丰富,详细教程及下载:http://nmap.org

主机发现

主机发现原理

主机发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。

实例演示

需求:扫描局域网内192.168.3.1到 192.168.3.200范围内哪些主机是存活的

-sn  Ping  Scan只进行主机发现,不进行端口扫描

root@kali:~# nmap -sn 192.168.3.1-200

端口的概念

为什么要进行端口扫描?

  通过扫描端口,可以发现目标主机中运行的程序。然后,再对这些程序进行信息收集,以获取期漏洞信息,并实施渗透测试。

  在计算机中端口的英文是Port。在网络技术中,端口有几种意思。这里指的端口并不是物理意义上的端口,而是特指TCP/IP协议中的端口。是逻辑意义上的端口。

  在TCP/IP协议中,最常用的协议是TCP和UDP协议。由于TCP和UDP两个协议是独立的,因此各自的端口号也相互独立。如,TCP有235端口,UDP也可以有235端口,两者并不冲突。

1、端口的作用

用户都知道一台主机对应一个IP地址,可以提供多个服务,如Web服务和FTP服务等。如果只有一个IP,无法区分不同的网络服务,所以使用IP+端口号来区分不同的服务。

2、端口的定义

端口号是标识主机内唯一的一个进程,【IP+端口】就可以标识网络中唯一的进程。在网络开发的Socket编程中 ,IP+端口号就是套接字。端口号是由16位二进制数字编号,范围是0~65535。但是,这些端口并不是可以随随便便使用的,一些端口已经别占用。

例如:web服务器的端口为80,FTP服务的端口为21等。所以,端口被进行了分类,并规定了用户可以使用的端口访问。

3、端口分类

端口分类的方法很多,这里按照服务端使用还是客户端使用进行分类 。其中,服务端使用的端口后又可以分为预留端口号和注册端口号。

预留端口号:该类端口的取值范围为0-1023.其中,这些端口在用户编程的时候不能使用,是一些程序固定使用。例如:WWW服务默认端口80,FTP服务默认端口为21等。不过,用户也可以为这些网络服务指定其它端口号。

注册端口号:该类端口的访问1024-49151,用户平时编写服务器使用的端口号范围。这些端口在没有别服务器资源占用的时候,用户端口可以选用。

 客户端端口: 又称临时端口,取值范围49152-65535.其中,这部分是客户端进行运行时动态选择范围。

4、常用端口

实施端口扫描(kali中的两款工具)

使用Nmap工具

使用Nmap工具实施端口扫描,可以识别6种端口状态:open(开发的)、closed(关闭的)、filtered(被过滤的)、unfiltered(未被过滤的)、open/filtered(开放或者被过滤的)和closed/filtered(关闭或者被过滤的)。

  • open(开放的):应用程序正在该端口接收TCP连接或者UDP报文。
  • closed(关闭的):关闭的端口对于Nmap也是可访问的(它接收Nmap的探测报文并作出相应),但没有应用程序在其上监听。对部分操作系统探测有所帮助。
  • filtered(被过滤的):由于包过滤阻止探测报文到达端口,Nmap无法确定该端口是否开放。过滤看你来自专业的防火墙设备、路由器规则或者主机上的软件防火墙。
  • unfiltered(未被过滤的):未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。
  • open/filtered(开放或者被过滤的):当无法确定端口是开放还是被过滤时,Nmap就把该端口划分成这种状态。开放的端口不响应就是这种情况。
  • closed/filtered(关闭或者被过滤的):该状态用于Nmap不能确定端口是关闭的还是被过滤的。

扫描用法

  • 单个扫描:nmap xxx.xxx.xxx.xxx
  • 多个扫描:nmap 192.168.1.1 192.168.1.2
  • 网段扫描:nmap 192.168.2.1-192.168.2.100
  • 导入扫描:nmap -iL [LIST.TXT]
  • -sS:TCP SYN扫描(匿名扫描,默认不加类型,需要root权限,扫描速度快)
  • -sT:TCP全连接扫描(不需要root权限,TCP扫描的默认模式,端口状态和SYN相同,耗时长)
  • -sU:UDP扫描(扫描DNS,SNMP和DHCP等服务,更慢更困难)
  • -sV:指定nmap进行版本探测
  • -O:nmap进行OS探测

例如:

  • nmap -sS 192.168.88.1-255
  • nmap -sT 192.168.88.1-255
  • nmap -sU 192.168.88.1-255

Nmap实例

语法:nmap -p <range> [target] ,选项-p用来指定扫描的端口。其中,指定的端口可以是单个端口、多个端口或端口访问。当指定多个扫描端口时,端口之间用【逗号】分隔。默认情况下,Nmap扫描的端口范围为1-1000。

例1:一次使用多个参数对端口进行扫描(常用)

root@kali:~# nmap -sS -sU -T4 -top-ports 300 192.168.3.25

-sS表示使用TCP SYN方式扫描TCP端口;

-sU表示扫描UDP端口;

-T4表示时间级别配置4级

--top-ports 300表示扫描最有可能开放的300个端口(TCP和UDP分别有300个端口)

例2:对目标主机192.168.10.7实施端口扫描。

执行命令如下:

root@kalitian:~# nmap 192.168.10.7
Starting Nmap 7.70 ( https://nmap.org ) at 2020-01-13 17:39 CST
Nmap scan report for 192.168.10.7
Host is up (0.00095s latency).
Not shown: 984 closed ports  #关闭的端口
PORT      STATE SERVICE
80/tcp       open  http
135/tcp     open  msrpc
139/tcp     open  netbios-ssn
902/tcp     open  iss-realsecure
912/tcp     open  apex-mesh
3306/tcp   open  mysql
3389/tcp   open  ms-wbt-server
6000/tcp   open  X11
8080/tcp   open  http-proxy
8888/tcp   open  sun-answerbook
49152/tcp open  unknown
49153/tcp open  unknown
49154/tcp open  unknown
49155/tcp open  unknown
49175/tcp open  unknown
49176/tcp open  unknown
MAC Address: E0:3F:49:E9:30:E9 (Asustek Computer)
Nmap done: 1 IP address (1 host up) scanned in 2.17 seconds

备注:从输出的信息可以看到,Nmap工具默认扫描了1000个端口。其中,989个端口是关闭的,11个端口是开发的。例如:端口21/22/80/135等端口是开发的。

例3:指定端口范围为1-100,对目标主机实施端口扫描

执行命令如下:

root@kalitian:~# nmap -p 1-100 192.168.10.7
Starting Nmap 7.70 ( https://nmap.org ) at 2020-01-13 17:43 CST
Nmap scan report for 192.168.10.7
Host is up (0.00012s latency).
Not shown: 99 closed ports   #关闭端口99个
PORT   STATE SERVICE
80/tcp open  http
MAC Address: E0:3F:49:E9:30:E9 (Asustek Computer)
备注:从输出结果可以看到,扫描了端口范围为1-100之间的端口。其中99个端口是关闭的,80端口是开放的。

例4:指定扫描目标主机的21和23端口

执行命令如下:

root@kalitian:~# nmap -p 21,23 192.168.10.7
Starting Nmap 7.70 ( https://nmap.org ) at 2020-01-13 17:47 CST
Nmap scan report for 192.168.10.7
Host is up (0.00013s latency).

PORT   STATE  SERVICE
21/tcp closed ftp
23/tcp closed telnet
MAC Address: E0:3F:49:E9:30:E9 (Asustek Computer)
备注:从输出信息可以看到,目标主机21和23端口均为关闭。

例5:指定多台目标主机进行端口扫描:192.168.10.7,192.168.10.31

root@kalitian:~# nmap 192.168.10.7 , 192.168.10.31
Starting Nmap 7.70 ( https://nmap.org ) at 2020-07-10 13:52 CST
Failed to resolve ",".
Nmap scan report for 192.168.10.7
Host is up (0.00023s latency).
Not shown: 993 filtered ports
PORT STATE SERVICE
85/tcp     open mit-ml-dev
135/tcp   open msrpc
139/tcp   open netbios-ssn
1121/tcp open rmpp
3306/tcp open mysql
3389/tcp open ms-wbt-server
6000/tcp open X11
MAC Address: E0:3F:49:E9:30:E9 (Asustek Computer)

Nmap scan report for 192.168.10.31
Host is up (0.0010s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
21/tcp open ftp
80/tcp open http
3389/tcp open ms-wbt-server
MAC Address: 00:0C:29:4E:66:96 (VMware)

版本侦测

用法

-sV : 指定Nmap进行版本探测

实例

root@kali:~# nmap -sV 192.168.3.25

2、使用DMitry工具

DMitry工具提供了一个-p选项,可以实施端口扫描。语法格式:dmitry -p [host]

实例1:使用Dmitry扫描目标主机192.168.10.7上开放的端口

执行命令:root@kalitian:~# dmitry -p 192.168.10.7FDH

 

posted on 2020-01-22 10:51  赛兔子  阅读(4441)  评论(0编辑  收藏  举报

导航