如何使用Nmap加强网络安全?
Nmap是Network Mapper(网络映射器)的缩写,是一个用于端口和IP扫描以及应用程序检测的开源工具。网络和系统管理员将其用于清点网络资产、管理服务升级计划和监视服务正常运行时间。
起初,它是作为一款Linux工具而开发的,但现在也可用于Windows和MacOS。用户还可以在Solaris、AIX或Amiga OS等不太常见的系统上使用Nmap。源代码以C、C++、Perl和Python等版本提供,可以定制该工具以适用于不同的环境。
管理员用Nmap进行渗透测试,检查哪些设备在其网络上运行,Nmap还使他们能够查看哪些端口是敞开的,并发现潜在的漏洞。
Nmap有什么用途?
大致说来,Nmap允许用户进行快速的网络映射,可以帮助团队优化并保护网络和数据。它被用于渗透测试、道德黑客活动以及进行其他目的。它最近的一项用途是分析网站服务器和物联网设备之间的流量。
Nmap由美国网络安全专家Gordon Lyon开发,下面将逐一介绍Nmap工具的最重要功能:
网络映射
Nmap向用户显示哪些类型的设备连接到网络并使用扫描端口。借助这个命令,用户可以看到服务器、路由器、交换机及其他设备是如何连接的,他们还可以了解它们如何协同工作,并进一步设想网络图。
端口扫描
用户可以使用Nmap检查哪些端口是敞开的,哪些端口是关闭的。这项功能对于IT团队来说非常方便,因为他们可以用它来查看防火墙是否在正常工作,对于那些想要防范端口扫描攻击的人来说,它也派得上用场。
漏洞扫描
Nmap还有助于发现网络容易受到特定威胁攻击的程度。当发现一个影响特定软件或软件版本的新漏洞时,Nmap可以显示是否有任何连接的机器使用该应用程序,然后IT团队收到警告,可以通过及时修补系统来避免网络攻击。
采集操作系统指纹
帮助IT团队发现设备上运行的所有类型的操作系统。通过这个过程,他们还可以查明这台机器是什么品牌(戴尔、宏碁或联想等)。但更有意思的是,IT团队还可以确定操作系统的补丁级别和端点的估计正常运行时间。
检查影子IT
Nmap可以显示连接到网络的机器的类型和位置,这有助于管理员发现任何未经正式授权就连接到其网络的设备(影子IT)。影子IT通常是隐藏的,即使这些机器不一定是恶意的,它们也可能是整个系统面临的一个风险因素,危险在于设备不包括在网络安全程序中,享受不到补丁管理策略的益处等。
服务发现
与其他映射工具不同,Nmap有助于发现网络中每个设备的角色。它显示哪个设备是邮件或网站服务器、哪个是存储设备、哪个是数据库存储库等。此外,Nmap还显示正在运行中的应用程序,甚至显示使用中的应用程序版本。
如何在Linux中使用Nmap?
Linux用户可以使用来自Insecure.Org的二进制软件包或者安装发行版的源代码。
•二进制软件包通常是一种安装起来更快速、更轻松的选择。但是它们必须稍加定制,才能使用发行版的标准目录路径。此外,这些软件包支持定期管理,以便对系统上的软件进行升级、卸载或审计。然而,发行版创建的软件包总是落后于Nmap.Org源版本,这显然是一个缺点,即使大多数Linux发行版保持相当频繁的更新节奏。
•使用源代码安装可以让用户更好地控制如何为其系统开发和定制Nmap,可以在官方Nmap页面(https://nmap.org/book/inst-source.html)上找到更多的相关信息。
如何在Windows上运行Nmap?
自2000年发布以来,Windows版本已成为使用Nmap的第二大流行平台。Windows用户可以在安装Nmap的三种方法中进行选择:
•Windows自安装程序——这是最容易使用的选项,它是大多数用户青睐的选择。它还使用户能够安装Zenmap GUI及其他工具。
•命令行Zip二进制文件——Nmap版本将Windows命令行二进制文件和关联文件合并到Zip压缩包中。另一方面,没有图形化界面,所以用户必须打开DOS/命令窗口来运行exe文件。
•从源代码编译——对于那些愿意帮助开发Nmap的人来说,从源代码编译是最好的选择。为此,你需要Microsoft Visual C++ 2019。任何Visual Studio 2019版本都可以使用,包括免费的Visual Studio 2019社区版。
如何在MacOS上运行Nmap?
用户可以使用面向Apple macOS (x86-64)平台的Nmap二进制文件,它作为含有安装程序的磁盘映像文件而存在。安装程序支持Nmap、Zenmap、Ncat和Ndiff,这些程序在Mac OS X 10.9和其他更新版本上进行了测试。
MacOS用户也有安装Nmap的更多选择:
•可执行安装程序——这是在Mac设备上安装Nmap或Zenmap的最简单方法。
•从源代码编译——这需要苹果的开发工具Xcode。因为它不是默认安装,所以必须从Mac应用程序商店免费下载。
•使用第三方软件包——在MacOS上安装Nmap的第三种选择是使用一个打包Unix软件的系统。Nmap官方页面推荐使用Fink或MacPorts。
与Windows一样,在MacOS上运行Nmap的第一步是从(https://nmap.org/download.html#macosx)下载。然后按照操作说明(https://nmap.org/book/inst-macosx.html),在MacOs上正确安装和运行Nmap。
除Nmap之外的另外5款开源网络扫描工具
Nmap可能是最出名的网络扫描工具,但它肯定不是唯一的。下面是另外一些主流的类似选择:
•Metasploit框架
Metasploit起初是一个开源渗透测试工具。它现在是一个商业网络扫描工具,用于网络漏洞检测。
•Snort
Snort是一个开源免费的网络入侵检测工具。它基于协议分析和内容检查,可以检测不同类型的网络漏洞(比如蠕虫),并且可以扫描端口。
•OpenSSH
这个开源工具专门用于UNIX环境。SSH是Secure Shell的缩写,在不受信任的主机之间通过不安全的网络链路建立安全的加密通信机制。它通过加密网络流量来消除诸多网络问题:窃听不可信的连接和劫持两台主机之间的连接。
•OpenVAS
这是另一个免费的网络安全扫描工具。它提供全面的网络扫描、网站服务器和应用程序扫描,还提供WordPress扫描。
•Angry IP Scanner
另外,开源工具Angry IP Scanner不仅提供IP地址扫描,还提供端口扫描。使用该工具可以访问主机名、NetBIOS、MAC地址和工作组信息等信息。
系统管理员最常用的5个Nmap命令
基本扫描
•Ping扫描——使用>nmap-sp192.168.1.1/24显示连接到网络的全部设备。
•扫描单个主机——使用>nmapscanme.nmap.org扫描一个主机,以扫描1000个密集使用的端口,这些端口被SQL、SMTP、apache等服务使用。
版本扫描
在进行渗透测试时,IT团队需要找出正在使用的应用程序版本,然后,他们可以搜索通用漏洞披露(CVE)数据库中的现有漏洞,以查找服务的某个版本,进而测试网络对它的响应。
使用’-sV’命令进行版本扫描:>nmap-sVscanme.nmap.org。
进攻性扫描
'-A’参数允许操作系统检测、版本检测、脚本扫描和跟踪路由。虽然进攻性扫描提供了比常规扫描了更好的信息,但它们发出的探针(probe)更多。对于系统管理员来说,安全审计期间更容易检测到它们。要执行进攻性扫描,请使用>nmap-A scanme.nmap.org。
扫描多个主机
多主机扫描可以帮助那些管理大型网络基础设施的人。有四种方法可以使用这个选项:
•在一行中输入所有的IP地址,以便一次性扫描所有主机:>nmap192.164.1.1 192.164.0.2 192.164.0.2。
•输入星号()表示一次性扫描所有子网:>nmap192.164.1.。
•不要键入整个域名,使用逗号分隔地址结尾:>nmap192.164.0.1,2,3,4。
•输入连字符表示IP地址范围:>nmap192.164.0.0—255。
端口扫描
由于端口扫描是Nmap的主要功能之一,所以有不止一种方法来使用它:
•使用’-p’参数进行单端口扫描:>nmap-p 973192.164.0.1。
•如果指定端口类型,Nmap允许你扫描查找关于特定类型连接的数据:>Nmap-pT:7777, 973192.164.0.1。
•如果你想扫描整个范围的端口,用连字符区分它们:>nmap-p76—973 192.164.0.1。
•使用’-top-ports’标志来指定要扫描的前n个端口:>nmap-top-ports 10scanme.nmap.org。
相关文章:
如何使用Nmap加强网络安全?
Nmap是Network Mapper(网络映射器)的缩写,是一个用于端口和IP扫描以及应用程序检测的开源工具。网络和系统管理员将其用于清点网络资产、管理服务升级计划和监视服务正常运行时间。 起初,它是作为一款Linux工具而开发的ÿ…...
LeetCode 2487. 从链表中移除节点:单调栈
【LetMeFly】2487.从链表中移除节点:单调栈 力扣题目链接:https://leetcode.cn/problems/remove-nodes-from-linked-list/ 给你一个链表的头节点 head 。 移除每个右侧有一个更大数值的节点。 返回修改后链表的头节点 head 。 示例 1: 输…...
LabVIEW在高精度机器人视觉定位系统中的应用
在现代工业自动化中,精确的机器人视觉定位系统对于提高生产效率和产品质量至关重要。LabVIEW软件,以其卓越的图像处理和自动化控制功能,在这一领域发挥着重要作用。本案例将展示LabVIEW如何帮助开发和实现一个高精度的机器人视觉定位系统&…...
Arm CCA机密计算扩展
目录 Realms Realm World和Root World Arm TrustZone扩展和Arm RME之间有什么区别? 在《什么是机密计算?》中所述,Arm CCA允许您在阻止更高特权软件实体(例如Hypervisor)访问的同时部署应用程序或虚拟机(VM)。然而,通常由这些特权软件实体管理内存等资源。在这种情况…...
【Unity入门】热更新框架之xLua
目录 一、xLua概述1.1xLua简介1.2xLua安装 二、Lua文件加载2.1执行字符串2.2加载Lua文件2.3自定义loader 三、xLua文件配置3.1打标签3.2静态列表3.3动态列表 四、Lua与C#交互4.1 C#访问Lua4.1.1 获取一个全局基本数据类型4.1.2 访问一个全局的table4.1.3 访问一个全局的functio…...
大数据Doris(四十五):物化视图选择最优
文章目录 物化视图选择最优 物化视图选择最优 下面详细解释一下第一步最优物化视图是被如何选择出来的。 这里分为两个步骤: 对候选集合进行一个过滤。只要是查询的结果能从物化视图数据计算(取部分行,部分列,或部分行列的聚合)出都可以留在候选集中,过滤完成后候选集合…...
PostgreSQL10数据库源码安装及plpython2u、uuid-ossp插件安装
PostgreSQL10数据库源码安装及plpython2u、uuid-ossp插件安装 1、环境2、安装包下载3、安装3.1 、解压3.2、配置3.3、编译安装3.4 、启动与关闭 4、安装 uuid-ossp 、plpython2u插件5、参考 1、环境 centos 7 、 postgresql 10.19 2、安装包下载 postgres 源码安装包 3、安…...
如何成为ChatGPT 优质Prompt创作者
如何提问? 我想让你成为我的Prompt创作者。你的目标是帮助我创作最佳的Prompt,这个Prompt将由你ChatGPT使用。你将遵循 以下过程:1.首先,你会问我Prompt是关于什么?我会告诉你,但我们需要 通过不断的重复来…...
LeetCode第71题 - 简化路径
题目 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (…) 表…...
VSCode上远程调试代码出现的问题
记录一下: 真的是汗流浃背了,师妹叫帮忙如何在VSCode上远程调试代码,一些自己已经经历过的问题,现在已经忘记了。又在网上一顿搜索,这次记录下吧。。。 出现以下问题: 1. 终端界面总是sh-4.4 $ ÿ…...
【langchain】入门初探实战笔记(Chain, Retrieve, Memory, Agent)
1. 简介 1.1 大语言模型技术栈 大语言模型技术栈由四个主要部分组成: 数据预处理流程(data preprocessing pipeline)嵌入端点(embeddings endpoint )向量存储(vector store)LLM 终端ÿ…...
《数据结构、算法与应用C++语言描述》- 平衡搜索树 -全网唯一完整详细实现插入和删除操作的模板类
平衡搜索树 完整可编译运行代码见:Github::Data-Structures-Algorithms-and-Applications/_34Balanced search tree 概述 本章会讲AVL、红-黑树、分裂树、B-树。 平衡搜索树的应用? AVL 和红-黑树和分裂树适合内部存储的应用。 B-树适合外部存储的…...
网络路由跟踪工具
随着企业网络需求的增长,组织发现监控和管理其网络基础设施变得越来越困难。网络管理员正在转向其他工具和资源,这些工具和资源可以使他们的工作更轻松一些,尤其是在故障排除方面。 目前,网络管理员主要使用简单、免费提供的实用…...
设计模式 七大原则
1.单一职责原则 单一职责原则(SRP:Single responsibility principle)又称单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合)。 描述: 类被修改的几率很大,因此应该专注…...
(1)(1.13) SiK无线电高级配置(一)
文章目录 前言 1 监控链接质量 2 诊断范围问题 3 MAVLink协议说明 前言 本文提供 SiK 遥测无线电(SiK Telemetry Radio)的高级配置信息。它面向"高级用户"和希望更好地了解无线电如何运行的用户。 !Tip 大多数用户只需要 SiK Radio v2 中提供的基本…...
drf知识--10
接口文档 # 后端把接口写好后: 登录接口:/api/v1/login ---> post---name pwd 注册接口 查询所有图书带过滤接口 # 前后端需要做对接,对接第一个东西就是这个接口文档,前端照着接口文档开发 公司3个人ÿ…...
探索 Vue 实例方法的魅力:提升 Vue 开发技能(下)
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
mysql死锁排查
查看正在进行中的事务 SELECT * FROM information_schema.INNODB_TRX;字段解释trx_id唯一事务id号,只读事务和非锁事务是不会创建id的trx_state事务的执行状态,值一般分为:RUNNING, LOCK WAIT, ROLLING BACK, and COMMITTING.trx_started事务…...
若依项目(ruoy-vue)多模块依赖情况简要分析
主pom文件关键点分析 properties标签声明变量信息:版本号、编码类型、java版本spring-boot依赖形式:spring-boot-dependencies、pom、importdependencies中添加本项目内部模块,同时在modules中声明模块packaging打包选择pom设置打包maven-co…...
【普中开发板】基于51单片机的篮球计分器液晶LCD1602显示( proteus仿真+程序+设计报告+讲解视频)
基于普中开发板51单片机的篮球计分器液晶LCD1602显示 1.主要功能:讲解视频:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单&&下载链接资料下载链接(可点击): 基于51单片机的篮球计分器液晶LCD1602显示 ( pr…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
