[信息收集]-端口扫描--Nmap

端口号

端口号的概念属于计算机网络的传输层,标识这些不同的应用程序和服务而存在的。通过使用不同的端口号,传输层可以将接收到的数据包准确地传递给目标应用程序。

  • 80:HTTP(超文本传输协议)用于Web浏览器访问网页

  • 443:HTTPS(安全的超文本传输协议)用于通过加密连接访问安全的网页

  • 21:FTP(文件传输协议)用于文件传输

  • 22:SSH(安全外壳协议)用于远程登录和安全文件传输---FTP安全版

  • 25:SMTP(简单邮件传输协议)用于电子邮件发送

  • 110:POP3(邮局协议版本3)用于接收电子邮件

  • 143:IMAP(互联网邮件访问协议)用于接收和管理电子邮件

  • 53:DNS(域名系统)用于将域名解析为IP地址

  • 3389:RDP(远程桌面协议)用于远程访问和控制计算机--与ftp相比是带图形界面

  • 3306:MySQL数据库服务器的默认端口

  • 1521:Oracle数据库服务器的默认端口

状态码

HTTP状态码是由三个数字组成的代码,用于表示Web服务器处理HTTP请求时的响应状态。这些状态码按照其首位数字被划分为五类,每类都有其特定的含义和用途。以下是HTTP状态码的一些常见示例及其划分依据:

  1. 1XX(信息性状态码)
    • 100 Continue:服务器已接收到请求的一部分,并期望继续接收请求的其余部分。
    • 这类状态码表示请求已被接受,需要继续处理。
  2. 2XX(成功状态码)
    • 200 OK:请求已成功,请求所希望的响应头或数据体将随此响应返回。
    • 201 Created:请求成功并且服务器创建了新的资源。
    • 这类状态码表示请求已被成功接受、理解,并被处理。
  3. 3XX(重定向状态码)
    • 301 Moved Permanently:请求的资源已永久移动到新位置。
    • 302 Found(或302 Moved Temporarily):请求的资源现在临时从不同的URI响应请求。
    • 这类状态码表示请求需要进一步操作,如跳转到另一个URL等。
  4. 4XX(客户端错误状态码)
    • 400 Bad Request:由于明显的客户端错误(例如,格式错误的请求语法,无效的请求消息或伪造的请求路由),服务器不能或将不处理该请求。
    • 401 Unauthorized:请求要求身份验证。
    • 403 Forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求。
    • 404 Not Found:服务器无法根据客户端的请求找到资源(网页)。
    • 这类状态码表示客户端提交的请求有错误或是服务器无法处理请求。
  5. 5XX(服务器错误状态码)
    • 500 Internal Server Error:服务器遇到了一个未曾预料的状况,导致其无法完成对请求的处理。
    • 503 Service Unavailable:由于临时的服务器维护或者过载,服务器当前无法处理请求。
    • 这类状态码表示服务器在处理请求时发生了错误。

HTTP状态码的划分依据主要是基于其首位数字:

  • 1XX:信息性状态码,表示请求已被接受,需要继续处理。
  • 2XX:成功状态码,表示请求已被成功接受、理解,并被处理。
  • 3XX:重定向状态码,表示请求需要进一步操作,如跳转到另一个URL等。
  • 4XX:客户端错误状态码,表示客户端提交的请求有错误或是服务器无法处理请求。
  • 5XX:服务器错误状态码,表示服务器在处理请求时发生了错误。

NMAP

Network Mapper(网络映射器)

Nmap包含四项基本功能:

  • 主机发现功能:向目标计算机发送特制的数据包组合,然后根据目标的反应来确定它是否处于开机并连接到网络的状态。

    • -sP :进行ping扫描 -sn: ping探测扫描主机, 不进行端口扫描---差别可以忽略

    • 过滤 IP 的网段扫描:nmap ip/子网掩码 -exclude 需要过滤的 IP 或 文件

    • nmap -sn ip/子网掩码 ---扫描并显示内网内所有的主机Ip/MAC

  • 端口扫描:向目标计算机的指定端口发送特制的数据包组合,然后根据目标端口的反应来判断它是否开放。

    状态可能是 open(开放的),filtered(被过滤的---防火墙等设备包过滤阻止探测报文到达端口), closed(关闭的,表面该端口不提供服务),或者unfiltered(未被过滤的---未被过滤,但是不知道是开/关)

    • 防火墙规则:许多防火墙配置有规则来检测并阻止异常的网络流量。如果防火墙识别到来自同一IP地址的大量SYN请求(而没有相应的ACK响应),它可能会认为这是一次SYN攻击,并阻止这些数据包。-----过滤
    • 指定端口号--nmap ip -p 端口号
    • 指定端口号范围--nmap ip -p 范围(1-100)
  • 服务及版本检测:向目标计算机的目标端口发送特制的数据包组合,然后根据目标的反应来检测它运行服务的服务类型和版本。

    • nmap -sV ip -p 端口号或范围
  • 操作系统检测:向目标计算机发送特制的数据包组合,然后根据目标的反应来检测它的操作系统类型和版本。

    • nmap -O ip

-sT (TCP connect()扫描)

nmap -sT IP == nmap IP(默认TCP扫描)

完整的连接,默认的TCP扫描,用户没有权限发送原始报文或者扫描IPv6网络时,不得以选择st,会被日志记录

-sU(UDP扫描)

基于upd协议的服务---DNS DHCP Syslog(日志管理) UPD就是快--这个快是指相比TCP的响应速度,但是在Nmap中UPD扫描却更慢---UDP是无连接的,不需要在客户端和服务器之间建立持久的连接。因此,对于开放的UDP端口,服务通常不会主动响应,除非有数据发送到该端口,才会产生响应。这也意味着探测UDP端口时,如果没有实际的数据发送到该端口,可能无法获取预期的响应。开放的和被过滤的端口很少响应,让Nmap超时然后再探测,以防探测帧或者 响应丢失。同时对于closed的端口只能返回ICMP,但是许多主机在默认情况下限制ICMP端口不可到达消息。

-sS---SYN扫描( 半开放扫描)

经典----- 它执行得很快,不完成TCP连接---不会被日志记录。 可以应对任何兼容的 TCP协议栈。 它还可以明确可靠地区分open(开放的), closed(关闭的),和filtered(被过滤的) 状态 。

目标端口回应SYN/ACK表示端口在监听 (开放),而 RST(强制关闭TCP连接) 表示没有端口监听者(关闭)。如果数次重发后仍没响应, 该端口就被标记为被过滤。如果收到ICMP不可到达错误 (类型3,代码1,2,3,9,10,或者13),该端口也被标记为被过滤。

注:何为RST复位---当目标主机收到一个无效的连接请求或无法处理的数据包时,它会发送一个RST报文作为响应,他是TCP协议中的标志位,和ICMP在IP响应的作用一样

-sA(TCP ACK扫描)

这种扫描与目前为止讨论的其它扫描的不同之处在于 它不能确定open(开放的)或者 open|filtered(开放或者过滤的))端口。 它用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。

---ACK包在TCP连接建立过程中通常被认为是可信的,一些防火墙可能会对SYN包进行过滤,但允许ACK包通过。因此,ACK扫描可以绕过某些对SYN扫描进行了限制的防火墙规则。

ACK扫描探测报文只设置ACK标志位。当扫描未被过滤的系统时, open(开放的)和closed(关闭的) 端口 都会返回RST报文。Nmap把它们标记为 unfiltered(未被过滤的),意思是 ACK报文不能到达,但至于它们是open(开放的)或者 closed(关闭的) 无法确定。不响应的端口 或者发送特定的ICMP错误消息(类型3,代号1,2,3,9,10, 或者13)的端口,标记为 filtered(被过滤的)。

-sF(TCP FIN扫描)

TCP FIN扫描会发送一个带有FIN标志位的TCP报文段到目标主机的特定端口。如果目标主机的该端口是关闭状态,它会发送一个带有RST(重置)标志位的报文段作为响应;如果目标主机的该端口是开放状态,它则会直接忽略FIN报文段,不发送任何响应。

好处是扫描速度快,不易被防火墙过滤

(对于Windows系统,无论端口是否开放,都会返回RST数据包,因此FIN扫描对Windows系统无效)

-sN NULL扫描

NULL扫描是一种利用TCP头部中的标志位字段为空的特性进行端口扫描的技术

如果目标端口是开放的,目标主机通常会忽略 TCP Null 报文,不发送任何响应。如果目标端口是关闭的,目标主机可能会发送一个 TCP RST(复位)包,表示端口是关闭的。

但是NULL扫描的精确度可能不是很高,因为它依赖于目标主机对NULL数据包的响应。在某些情况下,目标主机可能会忽略NULL数据包而不返回任何响应

相关推荐
叶落阁主17 小时前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
用户962377954483 天前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机3 天前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机3 天前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户962377954483 天前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star3 天前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户962377954483 天前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher5 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行8 天前
网络安全总结
安全·web安全
red1giant_star8 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全