[信息收集]-端口扫描--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

img

-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数据包而不返回任何响应

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/7180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

淘宝商家联系方式获取工具解析 淘宝商家采集工具分享

淘宝商家联系方式获取工具是一种用于获取淘宝商家联系方式的软件工具。它可以帮助用户从淘宝网上采集商家的联系方式,如店铺名称、联系人姓名、电话号码、微信号等。 这种工具的原理通常是通过模拟用户在淘宝搜索商家和访问商家店铺的行为,然后从店铺页…

【信息系统项目管理师练习题】资源管理

马斯洛需求层次理论中,下列哪种需求属于最高层次的需求? A) 生理需求 B) 安全需求 C) 社会交往的需求 D) 自我实现的需求 答案:D) 自我实现的需求 根据赫兹伯格双因素理论,下列关于激励因素和保健因素的说法正确的是: A) 激励因素能够消除工作中的不满意,保健因素…

jvm面试题30问

什么是JVM的跨平台? 什么是JVM的语言无关性? 什么是JVM的解释执行 什么是JIT? JIT:在Java编程语言和环境中,即时编译器(JIT compiler,just-in-time compiler)是一个把Java的字节码(…

【挑战30天首通《谷粒商城》】-【第一天】02、简介-项目整体效果展示

文章目录 课程介绍 ( 本章了解即可,可以略过)一、 分布式基础 (全栈开发篇) (初中级)二、 分布式高级 (微服务架构篇) ( 高级)三、高可用集群 (架构师提升篇)( 架构 ) one more thing 课程介绍 ( 本章了解即可,可以略过) 1.分布式基础(全栈开发篇)2.分布…

git merge 命令合并指定分支到当前分支

git merge 是一个用于合并两个分支的 Git 命令。当你在不同的分支上工作时&#xff0c;可能会有一些不同的更改。使用 git merge 可以将这些更改合并到一起。以下是一些常见的 git merge 用法示例&#xff1a; 1. 合并当前分支与另一个分支的更改 git merge <branch-name&…

Fireworks AI和MongoDB:依托您的数据,借助优质模型,助力您开发高速AI应用

我们欣然宣布 MongoDB与 Fireworks AI 正携手合作 让客户能够利用生成式人工智能 (AI) 更快速、更高效、更安全地开展创新活动 Fireworks AI由 Meta旗下 PyTorch团队的行业资深人士于 2022 年底创立&#xff0c;他们在团队中主要负责优化性能、提升开发者体验以及大规模运…

Ubuntu22.04有线网络连接但是没网,网络图标显示问号

Ubuntu22.04有线网络连接但是没网&#xff0c;网络图标显示问号 问题描述解决方案 问题描述 有线网络连接 但是没网 且网络图标显示问号 解决方案 进入设置->隐私->在 连接情况 中关闭连接检查 关闭后 网络正常

Typescript语法三

枚举 枚举&#xff08;Enumeration&#xff09;是编程语⾔中常⻅的⼀种数据类型&#xff0c;其主要功能是定义⼀组有限的选项&#xff0c;例 如&#xff0c;⽅向&#xff08;上、下、左、右&#xff09;或季节&#xff08;春、夏、秋、冬&#xff09;等概念都可以使⽤枚举类型…

vue 时间轴页面 自己的写法 欢迎交流指正

<div class"first-box"><!--贯穿线--><div class"vertical-line-wrap"><div class"vertical-line"></div><div class"vertical-line-arrow"></div></div><!--开始--><div c…

理解 C++ 中的 “placement new“ 和 `reinterpret_cast`

概述 在 C 编程中&#xff0c;我们经常会遇到需要进行低级内存操作的情况。在这种情况下&#xff0c;了解和正确使用工具变得至关重要&#xff0c;以确保我们的代码既高效又安全。本文将深入探讨两个在 C 中经常用于低级内存操作的工具&#xff1a;“placement new” 和 reint…

用于图生成的自回归扩散模型 笔记

1 Title Autoregressive Diffusion Model for Graph Generation&#xff08;Lingkai Kong、Jiaming Cui、Haotian Sun、Yuchen Zhuang、B. Aditya Prakash、Chao Zhang&#xff09;【PMLR 2022】 2 Conclusion This study propose an autoregressive diffusion model …

iOS ------ JSONModel源码

一&#xff0c;JSONModel的基本使用 1&#xff0c;基本使用方法 - (instancetype)initWithDictionary:(NSDictionary *)dict error:(NSError **)err; - (instancetype)initWithData:(NSData *)data error:(NSError **)error; - (instancetype)initWithString:(NSString *)str…

Python深度学习基于Tensorflow(3)Tensorflow 构建模型

文章目录 数据导入和数据可视化数据集制作以及预处理模型结构低阶 API 构建模型中阶 API 构建模型高阶 API 构建模型保存和导入模型 这里以实际项目CIFAR-10为例&#xff0c;分别使用低阶&#xff0c;中阶&#xff0c;高阶 API 搭建模型。 这里以CIFAR-10为数据集&#xff0c;C…

9.4.k8s的控制器资源(job控制器,cronjob控制器)

目录 一、job控制器 二、cronjob控制器 一、job控制器 job控制器就是一次性任务的pod控制器&#xff0c;pod完成作业后不会重启&#xff0c;其重启策略是&#xff1a;Never&#xff1b; 简单案例 启动一个pod&#xff0c;执行完成一个事件&#xff0c;然后pod关闭&#xff1b;…

初识指针(2)<C语言>

前言 前文介绍完了一些指针基本概念&#xff0c;下面介绍一下&#xff0c;const关键字、指针的运算、野指针的成因以及避免&#xff0c;assert函数等。 目录 const&#xff08;常属性&#xff09; 变量的常属性 指针的常属性 指针的运算 ①指针 -整数 ②指针-指针 ③指针与…

Enhanced-Rtmp支持H265

Enhanced-Rtmp支持H265 千呼万唤使出来&#xff0c;rtmp/flv算是有统一支持H265的国际版本。本文介绍一下&#xff1a; 现存rtmp/flv支持H265的方式;Enhanced-Rtmp协议如何支持H265;ffmpeg/obs/srs/media-server各个开源的实现;国内方案与国外方案的兼容性问题; 1. rtmp/flv…

安卓内存机制

目录 前言一、内存 LowMemoryKiller二、常用的内存调优分析命令&#xff1a; 前言 安卓内存知识&#xff0c;不定期更新… 一、内存 LowMemoryKiller Android的设计理念之一&#xff0c;便是应用程序退出,但进程还会继续存在系统以便再次启动时提高响应时间. 这样的设计会带…

初识JDBC

1、JDBC是什么&#xff1f; Java DataBase Connectivity(Java语言连接数据库) 2、JDBC的本质是什么&#xff1f; JDBC是SUN公司制定的一套接口(interface) java.sql.*;(这个包下有很多接口) 接口都有调用者和实现者。 面向接口调用、面向接口写实现类&#xff0c;这都属于…

mysql的导入与导出

mysql表的导入与导出 导出 直接在命令行中输入&#xff08;注意不需要进入mysql&#xff09; mysqldump -u root -p my_database > C:/Users/xxx/Desktop/all.sql然后他会要求你输入数据库的密码 导入 同样也是直接在命令行中输入 mysql -u root -p my_database < …

JAVA安装linux环境安装maven

linux安装java 下载java8,地址为&#xff1a; https://www.oracle.com/cn/java/technologies/downloads/#java8&#xff0c;下载后缀为tar.gz的解压 tar -zxvf jdk-8u381-linux-x64.tar.gz移动 mv jdk1.8.0_381/ /usr/local/环境变量 export JAVA_HOME/usr/local/jdk1.8.0_38…