端口扫描那些事

端口扫描那些事

实习过程中要做一些渗透测试的工作,这段时间侧重来学习一下红队知识。

本次学习的实践操作使用了vulhub提供的靶机,整个流程完全合法合规。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者无关。

端口扫描

在获得边界域名和IP资产之后,下一步我们要思考的,就是如何探测这些边界资产开放了哪些端口和服务。

端⼝扫描是指某些别有⽤⼼的⼈发送⼀组端⼝扫描消息,试图以此侵⼊某 台计算机,并了解其提供的计算机⽹络服务类型(这些⽹络服务均与端⼝号相 关)。攻击者可以通过它了解到从 哪⾥可探寻到攻击弱点。实质上,端⼝扫描包括向每个端⼝发送消息,⼀次只发 送⼀个消息。接收到的回应类型表示是否在使⽤该端⼝并且可由此探寻弱点。

扫描器是⼀种⾃动检测远程或本地主机安全性弱点的程序,通过使⽤扫描 器你可以不留痕迹的发现远程服务器的各种TCP端⼝的分配及提供的服务和它们的软件版本!

端口的百科定义

端口(port),可以认为是设备与外界通讯交流的出口,端口(虚拟端口)的范围是从0 到 65535,主机通常通过“IP地址+端口号”来区分不同的服务的。

如果百科定义比较抽象,可以做这样的⽐喻,端⼝相当于两台计算机进程间的⼤⻔,可随便定义,其⽬的只是为了让两台计算机能找到对⽅的进程。 计算机就像⼀座⼤楼,这个⼤楼有好多⼊⼝(端⼝),进到不同的⼊⼝中就可以 找到不同的公司(进程)。如果要和远程主机A的程序通信,那么只要把数据发 向[A;端⼝]就可以实现通信了。

端口在网络入侵之中的作用

有⼈曾经把服务器⽐作房⼦,⽽把端⼝⽐作通向不同房间(服务)的⻔, 如果不考虑细节的话,这是⼀个不错的⽐喻。⼊侵者要占领这间房⼦,势必要破 ⻔⽽⼊(物理⼊侵另说),那么对于⼊侵者来说,了解房⼦开了⼏扇⻔,都是什 么样的⻔,⻔后⾯有什么东⻄就显得⾄关重要。

端口分类

要注意,计算机广义上的“端口”可分为 虚拟端口和 物理端口

  • 虚拟端口:计算机内部或交换机路由器内的端口,不可见例如计算机中的80端口、21端口、23端口等
  • 物理端口:又称为接口,可见,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口,电话使用RJ11插口也属于物理端口的范畴

我们今天关注的只有计算机的虚拟端口

端口范围:0-65535

固定(通用)端口:0-1023 1024保留

动态端口:1024-65535

固定端口(0-1023)

使⽤集中式管理机制,即服从⼀个管理机构对端⼝的指派,这个机构负责 发布这些指派。由于这些端⼝紧绑于⼀些服务,所以我们会经常扫描这些端⼝来 判断对⽅ 是否开启了这些服务,如TCP的21(ftp),80(http),139 (netbios),UDP的7(echo),69(tftp)等等⼀些⼤家熟 知的端⼝;

动态端⼝(1024-49151)

这些端⼝并不被固定的捆绑于某⼀服务,操作系统将这些端⼝动态的分配给 各个进程, 同⼀进程两次分配有可能分配到不同的端⼝。不过⼀些应⽤程序并 不愿意使⽤操作系统分配的动态端⼝,他们有其⾃⼰的‘商标性’端⼝,如oicq客 户端的 4000端⼝,⽊⻢冰河的7626端⼝等都是固定⽽出名的。

根据协议,端口又可分为TCP 和 UDP

  • TCP端口:Transmission Control Protocol传输控制协议,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。
  • UDP端口:User Datagram Protocol用户数据报协议,UDP是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。

常见端口默认服务

常见端口默认服务

TCP 协议系统服务

  • FTP: 21
  • SSH: 22
  • Telnet: 23
  • SMTP: 25
  • Finger: 79
  • HTTP: 80
  • Kerberos: 88
  • POP3: 110
  • SUNRPC (Unix RPC): 111 (think: rpcinfo)
  • NetBIOS: 139
  • IMAP 143
  • LDAP: 389
  • HTTPS: 443
  • LotusNotes: 1352
  • Microsoft DS: 445
  • RSH: 514
  • CUPS: 631
  • NFS: 2049
  • Webrick(Ruby Webserver): 3000
  • RDP: 3389
  • Munin: 4949
  • SIP: 5060
  • PCAnywhere: 5631 (5632)
  • NRPE (*nix) /NSCLIENT++ (win): 5666 (evidence of Nagios server on network)
  • Alt-HTTP: 8080
  • Alt-HTTP tomcat: 9080
  • Another HTTP: 8000 (mezzanine in development mode for example)
  • Nessus HTTPS: 8834
  • Proxmox: 8006
  • Splunk: 8089 (also on 8000)
  • Alt HTTPS: 8443
  • vSphere: 9443
  • X11: 6000-6009 (+1 to portnum for additional displays) (see xspy, xwd, xkey for exploitation)
  • VNC: 5900, 5901+ (Same as X11; +1 to portnum for each user/dipslay over VNC. SPICE is usually in this range as well)
  • Printers: 9100, 515
  • Dropbox lansync: 17500

UDP 协议系统服务

  • DNS: 53
  • XDMCP: 177 (via NSE script –script broadcast-xdmcp-discover, discover nix boxes hosting X)
  • OpenV*N: 1194
  • MSSQL Ping: 1434
  • SUNRPC (Unix RPC): 111 (yeah, it’s UDP, too)
  • SNMP 161
  • Network Time Protocol (NTP): 123
  • syslog : 514
  • UPNP: 1900
  • Isakmp – 500 (ike PSK Attack)
  • vxworks debug: 17185 (udp)

管理服务端口

  • Citrix: 1494
  • WinRM: 80,5985 (HTTP), 5986 (HTTPS)
  • VMware Server: 8200, 902, 9084
  • DameWare: 6129

公共组件默认端口

  • Java RMI – 1099, 1098
  • coldfusion default stand alone – 8500
  • IPMI UDP(623) (easy crack or auth bypass)
  • 6002, 7002 (sentinel license monitor (reverse dir traversal, sometimes as SYSTEM))
  • GlassFish: 4848
  • easy copy –9060
  • IBM Web Sphere: 9060
  • Webmin or BackupExec: 10000
  • memcached: 11211
  • DistCC: 3632
  • SAP Router: 3299

关系型数据库服务端口

  • MySQL: 3306
  • PostgreSQL: 5432
  • PostgreSQL 9.2: 5433
  • Oracle TNS Listener: 1521-1527
  • Oracle XDB: 2100
  • MSSQL: 1433
  • Firebird / Interbase: 3050
  • PervasiveSQL: 3351, 1583
  • DB2/AS400 8471, 9471
  • Sybase 5000

NoSQL 数据库服务端口

  • MongoDB: 27017,28017,27080
  • CouchDB: 5984
  • Hbase 9000
  • Cassandra:9160
  • Neo4j: 7474
  • Redis: 6379
  • Riak: 8098

工控系统默认端口

  • BACnet/IP: UDP/47808
  • DNP3: TCP/20000, UDP/20000
  • EtherCAT: UDP/34980
  • Ethernet/IP: TCP/44818, UDP/2222, UDP/44818
  • FL-net: UDP/55000 to 55003
  • Foundation Fieldbus HSETCP/1089 to 1091, UDP/1089 to 1091
  • ICCP: TCP/102
  • Modbus TCP: TCP/502
  • OPC UA Binary: Vendor Application Specific
  • OPC UA Discovery Server: TCP/4840
  • OPC UA XML: TCP/80, TCP/443
  • PROFINET: TCP/34962 to 34964, UDP/34962 to 34964
  • ROC PLus: TCP/UDP 4000

渗透常用端口总结

可能会有人说这部分内容与上述内容有部分重叠,但是这里我还是坚持要开设这么一部分内容列出来,毕竟我们学习端口扫描的目的是为了更好的渗透。因此接下来这部分内容对我们来说更是重中之重,更需要我们完全掌握。

常用端口

21:FTP

22:SSH

23:Telnet

25:SMTP

53:DNS(UDP)

69:TFTP(cisco,类似FTP)

79:Finger

80:HTTP

110:POP3

111:RPC 远程过程调用

113:windows 验证服务

119:NNTP 网络新闻组传输协议

135:RPC 远程过程调用

137:NetBIOS

139:windows文件和打印机共享,Unix中的samba服务

161:SNMP 简单网络管理协议

389:LDAP

443:HTTPS

445:SMB

1080:socks代理服务

2601,2604:zebra路由,默认密码zebra

5900:vnc

8080:用户www代理服务

木马病毒

5554:worm.Sasser病毒利用端口

7626:冰河病毒

8011:WAY2.4病毒

7306:Netspy3.0病毒

1024:YAI病毒

中间件

7001,7002:weblogic

9080:webshpere应用程序

9090:webshpere管理工具

8080:tomcat默认端口

p.s:Jboss通常占用的端口是1098,1099,4444,4445,8080,8009,8083,8093,默认为8080

数据库

3306:mysql

1433:sqlserver server

1434:sqlserver monitor

1521:oracle

5432:PostgreSQL

1158:ORACLE EMCTL

8080:Oracle XDB

2100:Oracle XDB FTP

特殊服务(漏洞)

443:SSL心脏滴血

512,513,514:Rsync未授权访问

873:Rsync未授权访问

2375:docker remote api漏洞

5984:CouchDB

6379:redis未授权

7001,7002:WebLogic 默认弱口令,反序列化

9200,9300:elasticsearch未授权访问

11211:memcache未授权访问

27017,27018:Mongodb 未授权访问

28017:mongodb统计页面

50000:SAP命令执行

50070,50030:hadoop默认端口未授权访问

针对单个IP进行端口扫描

废话少说,我们先研究一下对于单个目标(ip、域名)的端口扫描。主要学习一下端口扫描常用工具的使用(以nmap为主)

nmap

安装:到https://nmap.org 下载安装即可。

更新:

1.更新nmap 1-1.在windows安装目录下找到nmap-update.exe 基于SVN更新 1-2.手动重

新安装

2.更新nmap-script-database

nmap --script-updatedb

扫描指定端口或端口范围

简单扫描

nmap <your ip>

nmap默认发送⼀个arp的ping数据包,来探测⽬标主机在1- 10000范围内所开放的端⼝。

指定端口扫描

探测内置的 1000 个常见端口,如果我们想要扫描指定端口范围,需要使用-p参数:

nmap -p 1-65535 localhost

示例命令指定了 1 到 65535 全端口,扫描速度会很慢,可以指定若干端口,比如:

nmap -p 80,443 <ip>

如果需要输出详细结果 使用 -vv参数

nmap -p <port> -vv <your ip>  设置详细输出结果。

nmap ping扫描

nmap可以利⽤类似windows/linux系统下的ping⽅式进⾏扫描。

命令语法

nmap -sP 5.182.217.100

nmap路由跟踪

路由器跟踪功能,能够帮⽹络管理员了解⽹络通⾏情况,同时也是 ⽹络管理⼈员很好的辅助⼯具。通过路由器跟踪可以轻松的查处从我们电脑 所在地到⽬标地之间所经常的⽹络节点,并可以看到通过各个节点所花费的时间.

nmap --traceroute <target ip>

保存结果到xml文件

nmap <ip> -oX test1.xml

Nmap常用命令:

-sP/-sn不进行端口扫描 -p指定端口扫描
-sTTCP全链接扫描,建立完整三次握手过程
-sSSYN半连接扫描,只进行三次握手的前两次
-O显示服务的详细版本
-b显示banner信息
-T0~-T5时序选项

丰富的端口探测方式:

1-sS/sT/sA/sW/sM:指定使⽤ TCP SYN/Connect()/ACK/Window/Maimon scans的⽅式探测对方主机
2 -sU: 指定使⽤UDP扫描⽅式确定⽬标主机的UDP端⼝状况。
3 -sN/sF/sX: 指定使⽤TCP Null, FIN, and Xmas scans秘密扫描⽅式来协助探测对⽅的主机
4 --scanflags <flags>: 定制TCP包的flags。
5 -sI <zombiehost[:probeport]>: 指定使⽤idle scan⽅式来扫描⽬标主机
6 -sY/sZ: 使⽤SCTP INIT/COOKIE-ECHO来扫描SCTP协议端⼝的开放的情况。
7 -sO: 使⽤IP protocol 扫描确定⽬标机⽀持的协议类型。
8 -b <FTP relay host>: 使⽤FTP bounce scan扫描⽅式
image-20220523151910273

实操使用 vulhub的 billu_b0x靶机。 安装过程网上很多,不再赘述。

先使用常规手段找到靶机ip地址为192.168.160.146 发现开放了 22 和80端口。接下来利用该靶机测试各种端口扫描方式

image-20220523011208530

1.TCP SYN扫描

SYN扫描,是连接使用频率最高的扫描选项:它不打开一个完全的TCP连接,执行得很快,效率高(一个完整的tcp连接需要3次握手,而-sS选项不需要3次握手(因为它从来不完成RCP))具有默认的、执行快、不易被注意到的特点。

nmap -sS 125.64.43.0-255
image-20220523011710655

2.-sT (TCP connect扫描)

这是最基本的TCP扫描。操作系统提供的connect()系统调⽤,⽤来与 每⼀个感兴趣的⽬标计算机的端⼝进⾏连接。如果端⼝处于侦听状态,那么 connect()就能成功。否则,这个端⼝是不能⽤的,即没有提供服务。这个技术 的⼀个最⼤的优点是,你不需要任何权限。系统中的任何⽤户都有权利使⽤这个 调⽤。

nmap -sT 125.64.43.0-255 
image-20220523011735966

3.-sU (UDP扫描)

image-20220523012316141
nmap -sU --host-timeout 1 125.64.43.0-255 

4.-sA (TCP ACK扫描)

扫描主机向⽬标主机发送ACK数据包。根据返回的RST数据包有两种 ⽅法可以得到端⼝的信息。⽅法⼀是: 若返回的RST数据包的TTL值⼩于或等于 64,则端⼝开放,反之端⼝关闭。

image-20220524094118541

Nmap -sA参数是发送tcp的ack包进行探测,可以探测主机是否存活:

image-20220523012130314

5.-sW (TCP窗口扫描)

image-20220523012153842

6.-sN;-sF-sX (TCP null, FIN, and Xmas)

Xmas与Null扫描

Xmas-Tree扫描 通过发送带有下列标志位的tcp数据包

1 URG:指示数据时紧急数据,应⽴即处理。 
 2 PSH:强制将数据压⼊缓冲区。 
 3 FIN:在结束TCP会话时使⽤。

当然在正常情况下,三个标志位不能被同时设置。但在此种扫描中可以⽤来 判断哪些端⼝关闭还是开放。将TCP数据包中的ACK、FIN、 RST、SYN、URG、PSH标志位置1后发送给⽬标主机。在⽬标端⼝开放的情况 下,⽬标主机将不返回任何信息。

image-20220524094048594
image-20220524094056656

NULL扫描原理与XMAS扫描的类似。

FIN扫描

**sF **也是tcp的扫描一种,发送一个FIN标志的数据包FIN scan(sF)
有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.

nmap -sN 125.64.43.0-254
nmap -sF 125.64.43.0-254
nmap -sX 125.64.43.0-254

-sM (TCP Maimon扫描)

Maimon 扫描的名字来源于它的发现者,Uriel Maimon。他在Phrack杂志问题#49(1996年11月)中描述的技术。这种技术与NULL,FIN和Xmas扫描类似,唯一的不同之处在于探针是FIN/ ACK。

-sO (IP协议扫描)

p.s:这种方法速度挺慢的

image-20220523013839220
nmap -sO --data-length 100 <IP>
image-20220523014458968

-sI (Idlescan,空闲扫描)

对目标进行真正的TCP端口盲扫描

nmap --script ipidseq 125.64.43.0-254
image-20220523013535605

–scanflflags(定制的TCP扫描)

nmap --scanflags URGACK 125.64.43.0-254
nmap -sS --scanflags URGACK 125.64.43.0-254

**-b (FTP弹跳扫描)**参数格式:

nmap <username>:<password>@<server IP>:<port>

server是指FTP服务的名字或IP地址。如果FTP服务器允许匿名用户登录的话,则可以省略username:password。另外,当FTP服务使用默认端口21时,也可以省略端口号(以及前面的冒号)。

如:利用ftp服务器192.168.1.5对靶机192.168.1.7的21,22,80端口进行扫描

nmap -p 21,22,80 -b 192.168.1.5 -Pn 192.168.1.7 -v

以下还有几种端口扫描的姿势:

-p (只扫描指定的端口) 当扫描TCP端口又扫描UDP端口时,可以在端口号前加上T:或者U:指定协议
-F (快速(有限的端口)扫描)
-r (按随机顺序扫描端口)

Pn (不能ping 跳过主机发现)

当我们明确的知道了主机的存活,可以使用-Pn,跳过主机发现,减少扫描时间

image-20220523012920722

回显扫描结果对应状态

open(开放的)

closed(关闭的) 关闭的端口对于Nmap也是可访问的,但没有应用程序在其上监听。

open|fifiltered(开放或者被过滤的)

closed|fifiltered(关闭或者被过滤的)

对于网站服务、版本的探测

一般扫描端口的时候常常需要同时探测网站服务,版本,搜集尽量更全的信息来

-sV (版本探测)

打开版本探测。 也可以用-A同时打开操作系统探测和版本探测。

nmap -sV www.yourdomains.com
image-20220523014734224

–allports (不为版本探测排除任何端口)

默认情况下,Nmap版本探测会跳过9100 TCP端口,因为一些打印机简单地打印送到该端口的 任何数

据,这回导致数十页HTTP get请求,二进制 SSL会话请求等等被打印出来。这一行为可以通过修改或删

除nmap-service-probes 中的Exclude指示符改变, 您也可以不理会任何Exclude指示符,指定–

allports扫描所有端口

nmap -sV --allports www.baidu.com

–version-intensity (设置 版本扫描强度)

当进行版本扫描(-sV)时,nmap发送一系列探测报文 ,每个报文都被赋予一个1到9之间的值。 被赋予

较低值的探测报文对大范围的常见服务有效,而被赋予较高值的报文 一般没什么用。强度水平说明了应

该使用哪些探测报文。数值越高, 服务越有可能被正确识别。 然而,高强度扫描花更多时间。强度值

必须在0和9之间。 默认是7。当探测报文通过nmap-service-probes ports指示符 注册到目标端口时,无论什么强度水平,探测报文都会被尝试。这保证了DNS 探测将永远在任何开放的53端口尝试, SSL探测将在443端口尝试,等等。

image-20220523015023623

–version-light (打开轻量级模式)

这是 –version-intensity 2的方便的别名。轻量级模式使 版本扫描快许多,但它识别服务的可能性也略微小一点。

–version-all (尝试每个探测)

–version-intensity 9的别名, 保证对每个端口尝试每个探测报文。

-sR (RPC扫描)

这种方法和许多端口扫描方法联合使用。 它对所有被发现开放的TCP/UDP端口执行SunRPC程序NULL

命令,来试图 确定它们是否RPC端口,如果是, 是什么程序和版本号。因此您可以有效地获得和

rpcinfo -p一样的信息, 即使目标的端口映射在防火墙后面(或者被TCP包装器保护)。Decoys目前不能

和RPC scan一起工作。 这作为版本扫描(-sV)的一部分自动打开。 由于版本探测包括它并且全面得多,-

sR很少被需要

image-20220523015142879

操作系统探测

-O (启用操作系统检测)

也可以使用**-A**来同时启用操作系统检测和版本检测。

image-20220523015241946

–osscan-limit (针对指定的目标进行操作系统检测)

如果发现一个打开和关闭的TCP端口时,操作系统检测会更有效。 采用这个选项,Nmap只对满足这个

条件的主机进行操作系统检测,这样可以 节约时间,特别在使用-P0扫描多个主机时。这个选项仅在使

用 -O或-A 进行操作系统检测时起作用。

–osscan-guess; –fuzzy (推测操作系统检测结果)

当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认 进行这种匹配,使

用上述任一个选项使得Nmap的推测更加有效。

zmap

Zmap的基 本功能是扫描发现主机的开放端⼝。

可以使⽤以下命令进⾏指定端⼝扫描:

zmap -p 135 -o results.csv 192.168.188.0/24

zmap为什么可以快速扫描全网ip端口

Zmap采⽤了⽆状态的扫描技术,没有进⾏完整的TCP三次握⼿,因此扫描速度极⼤提升。

masscan

Masscan号称是最快的互联⽹端⼝扫描器,最快可以在六分钟内扫遍互联⽹。可以使⽤以下命令做简 单的端⼝扫描:

masscan -p1-1000 192.168.188.149 --rate=10000
image-20220523014618833

可以看到没有扫出开放的22端口 准确性不如nmap 就图一乐?

masscan常用操作

单端⼝扫描

扫描443端⼝的B类⼦⽹

masscan 10.11.0.0/16 -p 443

多端⼝扫描

扫描80或443端⼝的B类⼦⽹

masscan 10.11.0.0/16 -p80,443 

扫描⼀系列端⼝

扫描22到25端⼝的B类⼦⽹

masscan 10.11.0.0/16 -p22-25

结果保存
您可以使⽤标准的Unix重定向器将输出发送到⽂件:

1 masscan 10.11.0.0/16 --top-ports 100 > results.txt

除此之外,您还具有以下输出选项:

1 -oX filename:输出到filename的XML。
2 -oG filename:输出到filename在的grepable格式。

不使用专门端口扫描工具进行端口扫描的骚操作

powershell

使⽤Powershell判断⼀个端⼝是否开放?,可以使⽤如下代码

$tcp = new-object Net.Sockets.TcpClient
$tcp.Connect("<ip>",80)

如果端⼝开放,其结果为空,如果不开放,将会报错,测试如下:

nc

netcat netcat是⽹络⼯具中的瑞⼠军⼑,它能通过TCP和UDP在⽹络中读写数据。通过与其他⼯具结合和重 定向,你可以在脚本中以多种⽅式使⽤它,利⽤nc也可以完成简单的端⼝扫描。使⽤下⾯的命令查看 端⼝是否开启:

nc -vv <ip> 80

在线端口扫描

这种方式可以隐藏自身 IP,防止被目标所关注,溯源到自身,还可以在不安装任何端口扫描工具的情况下,了解目标的端口开放情况。

https://hackertarget.com/nmap-online-port-scanner/

http://www.ipfingerprints.com/portscan.php

https://spiderip.com/online-port-scan.php

批量检测端口

实现对于端口的批量检测,我们主要使用nmap工具

同时扫描多个 IP

如果是几个不连续的IP,那么直接在 nmap 的参数中以空格将多个 IP 隔开就好,比如:

nmap -p 53 114.114.114.114 8.8.8.8

如果是几个连续的 IP,命令格式如下:

nmap -p 53 114.114.114.114,115,116,117,118

扫描指定的 IP 范围

如果扫描的 IP 范围是某个子网,通过指定 CIDR IP 范围来对目标 IP 段进行扫描,例如:

nmap -p 53 114.114.114.0/28

114.114.114.0/28 的意思是 114.114.114.1-114.114.114.8 这几个 IP,也可以使用下面的格式:

nmap -p 53 114.114.114.1-114.114.114.8

如果是扫描一个 C 段,还可以使用通配符,如下:

nmap -p 53 114.114.114.*

如果不想扫码某个 IP,可以使用参数--exclude排除该 IP,如:

nmap -p53 114.114.114.* –exclude 114.114.114.1

从文件中读取目标列表

对于目标过多的情况下,存在 IP 、域名时,如何使用 nmap 一条命令扫描所有资产?nmap 支持指定目标文件来扫码文件中保存的资产列表,使用参数-iL指定目标文件名,如下:

nmap -p 80,443 -iL list.txt

把扫描结果保存在文件中

保存结果有几种格式,比如-oN表示将结果保存在文本文件中,-oX表示将结果保存在 XML 文件中,下面以-oN参数为例, 将上面的结果保存在文件中:

nmap -p 80,443 -iL list.txt -oN result.txt

小tips:提高扫描速度的一种方法

有的时候不需要针对 IP 地址进行反解析,因为多一步就要多一些时间消耗,禁用 DNS 反解析可以提升扫描速度,使用方式增加-n参数即可:

nmap -p 53 -n 114.114.114.114

小结

端口扫描 方式比较简单,变化也不多。网上看到的文章内容要么过于简略,要么过于杂乱。写这篇文章的目的主要就是为了 较为完整,条理清晰地总结一下渗透测试中端口扫描的各种方法,为读者提供一本端口扫描的小百科,方便端口扫描工作。毕竟渗透测试中每一流程环环相扣,作为渗透测试中不可或缺的一环,扎实的学好端口扫描,在我看来是每个渗透测试工作者都应该做到的。

参考文章

https://www.cnblogs.com/Nedved/p/10472420.html

https://www.sohu.com/a/487267610_121124365

https://blog.csdn.net/weixin_43838889/article/details/122876220

本文作者:绿冰壶QAQ, 转载请注明来自FreeBuf.COM

© 版权声明
THE END
喜欢就支持一下吧
点赞8赏点小钱 分享