当前位置: 首页 > news >正文

网络探测工具Nmap介绍

1. Nmap简介

  • Nmap是一款用于网络发现和安全审计的网络安全工具。可用于列举网络主机清单、管理服务升级调度、监控主机、监控主机服务运行状况、检测目标主机是否在线和端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等。

2. 命令大纲

在这里插入图片描述

3. 命令详细介绍

3.1 端口扫描(Port Scanning)

  • 检测目标主机上各个端口的状态(开放、关闭、过滤等)。支持多种扫描技术,如TCP SYN扫描、TCP Connect扫描、ACK扫描、UDP扫描、FIN扫描、IDLE扫描等。

3.1.1 TCP SYN扫描(半开放扫描)

  • 命令:nmap -sS 192.168.206.140 或者 nmap 192.168.206.140
  • 这种扫描方式通常用于不建立完整连接的情况下探测目标主机的TCP端口状态,避免了完整的三次握手过程,因此更隐蔽。默认就是TCP SYN扫描。
    在这里插入图片描述
  • 我这里扫描虚拟机可用端口,可以看到扫描到了三个开放端口。
    在这里插入图片描述
  • 以80端口为例,通过抓包可以看到,TCP SYN扫描,只要对端回复了ACK就认为端口是开放状态,不用建立三次握手。

3.1.2 TCP Connect扫描

  • 命令:nmap -sT 192.168.206.140
  • TCP Connect扫描会完成三次握手以确定端口是否开放。虽然这种方法相对慢且可能更容易被检测到,但其结果最可靠。
    在这里插入图片描述
  • 同样扫描到了三个开放端口
    在这里插入图片描述
  • 抓包可以看到,TCP Connect扫描必须完成三次握手才认为端口是开放状态。

3.1.3 UDP扫描

  • 命令:nmap -sU 192.168.206.140
  • 扫描开放的UDP端口
    在这里插入图片描述
    在这里插入图片描述
  • 抓包可以看到UDP扫描时的数据包。

3.1.4 端口服务及版本扫描

  • 命令:namp -sV 192.168.206.140
  • 可以扫描到端口对应的服务及版本信息
    在这里插入图片描述
  • 可以看到,扫描的22端口是OpenSSH服务,80和8011是Nginx服务。

3.1.5 详细信息扫描

  • 命令:namp -vv 192.168.206.140
  • 提供更详尽的扫描过程信息和结果反馈。这包括了更多的调试信息、每个步骤的详细说明以及可能影响扫描行为的内部决策等。
    在这里插入图片描述
  • 可以比对下,详细扫描的结果

3.1.6 所有信息扫描

  • 命令:nmap -A 192.168.206.140
  • 这样扫描的更加详细,并且还会扫描出路由信息
    在这里插入图片描述
  • 我扫描的虚拟机地址,因此这里是直连。
    在这里插入图片描述
  • 扫描百度可以看到,经过了好几个路由。

3.1.7 随机扫描和延时扫描

  • 命令:nmap --randomize-hosts --scan-delay 5 192.168.206.140
  • 有时候扫描太快,可能会触发主机的防火墙,因此可以延时扫描,5代表延时5秒

3.1.8 指定端口扫描

  • 扫描指定端口:nmap 192.168.206.140 -p 80 或者 nmap 192.168.206.140 -p 80,8011
  • 扫描指定范围的端口:nmap 192.168.206.140 -p 1-1024
  • 扫描全部端口(1-65535端口):nmap 192.168.206.140 -p-

3.1.9 扩展

  • 如果我们是维护公司服务器的,有时候扫描出来公司服务器的端口开放着,但不知道这个端口是干什么的,是谁启动的。可以登录服务器,使用 lsof -i:port 查看端口
    在这里插入图片描述
  • 比如这里扫描到8011端口不知道是什么,就可以登录对应服务器查看。会有详细描述,包括所属程序,启动用户和端口状态等信息。
    在这里插入图片描述
  • 如果从网页去访问8011端口,也能从服务看到对方的信息。

3.2 主机探测(Host Discovery)

  • 也称为ping扫描或存活探测,用于检测网络上的活动主机。它能通过多种方式(如ICMP、TCP、UDP等)来确定哪些主机在线。

3.2.1 扫描单个主机

  • 命令:nmap -sP 192.168.1.2
    在这里插入图片描述
  • 如果主机在线,会显示Host is up
    在这里插入图片描述
  • 扫描一个不存在的主机,会报Host seems down,主机宕机。

3.2.2 扫描一个IP地址范围

  • 命令:nmap -sP 192.168.1.1-255或者nmap -sP 192.168.1.1/24
    在这里插入图片描述
  • 在1-255网段,扫描到了三个在线的主机。

3.3 操作系统类型检测

  • 命令:nmap -O 192.168.206.140
  • 用于探测目标主机运行的操作系统类型和版本。
    在这里插入图片描述

3.4 Nmap防火墙

  • nmap扫描出来的端口状态
    • open: 端口开放
    • filtered: 端口被防火墙或安全软件阻止了,也可能是网络堵塞
    • closed: 端口关闭
  • 如果扫描时发现有的端口被防火墙阻止了,可通过以下方法绕过防火墙
    • -PS: 实施TCP SYN ping扫描绕过防火墙
    • -PA: 只扫描ACK包,可绕过防火墙
    • -PU: 只对目标进行udp ping扫描。这种类型的扫描会发送UDP包来获取一个响应,可绕过防火墙。
    • -PP: 进行一个ICMP时间戳ping扫描,可绕过防火墙
    • -PE: 进行一个IEMP在指定的系统上输出ping,可绕过防火墙
    • -Pn: 不采用ping方式扫描,可绕过防火墙
    • -sA: 用于发现防火墙规则

3.5 结果导出

  • 可以把扫描结果导出到文件中
  • 命令:nmap 192.168.206.140 -oN res.txt
  • 命令:nmap 192.168.206.140 -oX res.xml

相关文章:

网络探测工具Nmap介绍

1. Nmap简介 Nmap是一款用于网络发现和安全审计的网络安全工具。可用于列举网络主机清单、管理服务升级调度、监控主机、监控主机服务运行状况、检测目标主机是否在线和端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等。 2. 命令大纲 3. 命令详细介绍…...

20240319-2-机器学习基础面试题

⽼板给了你⼀个关于癌症检测的数据集,你构建了⼆分类器然后计算了准确率为 98%, 你是否对这个模型很满意?为什么?如果还不算理想,接下来该怎么做? 首先模型主要是找出患有癌症的患者,模型关注的…...

0202矩阵的运算-矩阵及其运算-线性代数

文章目录 一、矩阵的加法二、数与矩阵相乘三、矩阵与矩阵相乘四、矩阵的转置五、方阵的行列式结语 一、矩阵的加法 定义2 设有两个 m n m\times n mn橘子 A ( a i j ) 和 B ( b i j ) A(a_{ij})和B(b_{ij}) A(aij​)和B(bij​),那么矩阵A与B的和记为AB,规定为 A B ( a 11…...

python中的__dict__

类的__dict__返回的是:类的静态函数、类函数、普通函数、全局变量以及一些内置的属性都是放在类的__dict__里的, 而实例化对象的:__dict__中存储了一些类中__init__的一些属性值。 import的py文件 __dict__返回的是:__init__的…...

数学分析复习:无穷乘积

文章目录 无穷乘积定义:无穷乘积的收敛性命题:无穷乘积的Cauchy收敛准则正项级数和无穷乘积的联系 本篇文章适合个人复习翻阅,不建议新手入门使用 无穷乘积 设复数列 { a n } n ≥ 1 \{a_n\}_{n\geq 1} {an​}n≥1​,设对任意 …...

02 React 组件使用

import React, { useState } from react;// 定义一个简单的函数式组件 function Counter() {// 使用 useState hook 来创建一个状态变量 count,并提供修改该状态的函数 setCountconst [count, setCount] useState(0);// 在点击按钮时增加计数器的值const increment…...

你就是上帝

你就是上帝:Jv程序员,请你站在上帝或神的角度 1.万物皆有裂缝 按照西方文化(宗教神话,古希腊、古罗马等),上帝创建了人; 创建人之前,还创建了人的居所或地盘/栖息地(伊…...

Spring Cloud: openFegin使用

文章目录 一、OpenFeign简介二、Springboot集成OpenFeign1、引入依赖2、EnableFeignClients注解(1)应用(2)属性解析 3、 FeignClient(1)应用(2)属性解析(3)向…...

流畅的 Python 第二版(GPT 重译)(二)

第三章:字典和集合 Python 基本上是用大量语法糖包装的字典。 Lalo Martins,早期数字游牧民和 Pythonista 我们在所有的 Python 程序中都使用字典。即使不是直接在我们的代码中,也是间接的,因为dict类型是 Python 实现的基本部分。…...

Flutter 旋转动画 线性变化的旋转动画

直接上代码 图片自己添加一张就好了 import dart:math;import package:flutter/material.dart;import package:flutter/animation.dart;void main() > runApp(MyApp()); //旋转动画 class MyApp extends StatelessWidget {overrideWidget build(BuildContext context) {re…...

【Web应用技术基础】HTML(5)——案例1:展示简历信息

样式&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>展示简历信息…...

ethers.js:wallet(创建钱包,导入助记词,导入私钥)

Wallet Wallet类继承了Signer,可以使用私钥作为外部拥有帐户(EOA)的标准对交易和消息进行签名。 npm install ethers@5.4.0// 引入 import {ethers } from ethers创建新钱包 this.provider = new ethers.providers.Web3Provider(window...

面试笔记——Java集合篇

Java集合框架体系 重点&#xff1a;单列集合——ArrayList、LinkedList&#xff1b;双列集合——HashMap、ConcurrentHashMap。 List相关 数组&#xff08;Array&#xff09; 是一种用连续的内存空间存储相同数据类型数据的线性数据结构。 数组获取其他元素&#xff1a; 为什…...

在 IntelliJ IDEA 中使用 Terminal 执行 git log 命令后的退出方法

前言 IntelliJ IDEA 是一款广受欢迎的集成开发环境&#xff0c;它内置了强大的终端工具&#xff0c;使得开发者无需离开IDE就能便捷地执行各种命令行操作&#xff0c;包括使用 Git 进行版本控制。在 IDEA 的 Terminal 中执行 git log 命令时&#xff0c;由于该命令会显示项目的…...

架构整洁之道-读书总结

1 概述 1.1 关于本书 《架构整洁之道》&#xff08;Clean Architecture: A Craftsman’s Guide to Software Structure and Design&#xff09;是由著名的软件工程师Robert C. Martin&#xff08;又称为Uncle Bob&#xff09;所著。这本书提供了软件开发和架构设计的指导原则…...

蓝桥杯学习笔记(贪心)

在很久很久以前&#xff0c;有几个部落居住在平原上&#xff0c;依次编号为1到n。第之个部落的人数为 t 有一年发生了灾荒&#xff0c;年轻的政治家小蓝想要说服所有部落一同应对灾荒&#xff0c;他能通过谈判来说服部落进行联台。 每次谈判&#xff0c;小蓝只能邀请两个部落参…...

【无标题】如何使用 MuLogin 设置代理

如何使用 MuLogin 设置代理 使用 MuLogin 浏览器设置我们的代理&#xff0c;轻松管理多个社交媒体或电子商务帐户。 什么是MuLogin&#xff1f; MuLogin 是一款虚拟反检测浏览器&#xff0c;使用户能够管理多个电子商务、社交媒体和广告帐户&#xff0c;而无需验证码或 IP 禁…...

芒果YOLOv8改进135:主干篇GCNet,统一为全局上下文建模global context结构,即插即用,助力小目标检测,轻量化的同时精度性能涨点

该专栏完整目录链接: 芒果YOLOv8深度改进教程 芒果专栏 基于 GCNet 的改进结构,改进源码教程 | 详情如下🥇 💡本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 即插即用 结构。博客 包括改进所需的 核心结构代码 文件 论文:https://arxiv.org/a…...

全面:vue.config.js 的完整配置

vue.config.js是Vue项目的配置文件&#xff0c;用于配置项目的构建、打包和开发环境等。 在Vue CLI 3.0之后&#xff0c;项目的配置文件从原来的build和config目录下的多个配置文件&#xff0c;合并成了一个vue.config.js文件。这个文件可以放在项目的根目录下&#xff0c;用于…...

海量数据处理项目-账号微服务注册Nacos+配置文件增加

海量数据处理项目-账号微服务注册Nacos配置文件增加 导入生成好的代码 model (为啥不放common项目&#xff0c;如果是确定每个服务都用到的依赖或者类才放到common项目) mapper 类接口拷贝 resource/mapper文件夹 xml脚本拷贝 controller service 不拷贝 Mybatis plus配置控制…...

DNS 服务 Unbound 部署最佳实践

文章目录 安装unbound-control配置启动服务测试 参考&#xff1a; 官网地址&#xff1a;https://nlnetlabs.nl/projects/unbound/about/ 详细文档&#xff1a;https://unbound.docs.nlnetlabs.nl/en/latest/index.html DNS服务Unbound部署于使用 https://cloud.tencent.com/…...

力扣HOT100 - 42. 接雨水

解题思路&#xff1a; 动态规划 感觉不是很好想 class Solution {public int trap(int[] height) {int n height.length;if (n 0) return 0;int[] leftMax new int[n];leftMax[0] height[0];for (int i 1; i < n; i) {leftMax[i] Math.max(leftMax[i - 1], height[i…...

攻防世界-baby_web

题目信息 相关知识 使用bp进行抓包 解题过程 题目界面如下所示: 试图找index界面&#xff1a; 发现又跳转到http://61.147.171.105:51201/1.php页面&#xff0c;因此说明61.147.171.105:51201/index.php是存在的&#xff08;因为笔者试了&#xff0c;不存在的页面会直接报…...

数据可视化基础与应用-04-seaborn库从入门到精通01-02

总结 本系列是数据可视化基础与应用的第04篇seaborn&#xff0c;是seaborn从入门到精通系列第1-2篇。本系列的目的是可以完整的完成seaborn从入门到精通。主要介绍基于seaborn实现数据可视化。 参考 参考:数据可视化-seaborn seaborn从入门到精通01-seaborn介绍与load_datas…...

学习 zustand

学习 zustand https://github.com/pmndrs/zustand告别繁杂的状态管理&#xff1a;Zustand 的简洁之道Zustand 状态库&#xff1a;轻便、简洁、强大的 React 状态管理工具关于 zustand 的一些最佳实践 代码库 https://gitee.com/nian_zuo_chen/learnrect/tree/master/zustand 安…...

竞赛 opencv python 深度学习垃圾图像分类系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; opencv python 深度学习垃圾分类系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 这是一个较为新颖的竞…...

vsto worksheet中查找关键字【关键字】获取对应的整列 union成一个range

要在 VSTO 中的工作表中查找包含特定关键字的单元格&#xff0c;并将这些单元格所在列合并为一个范围&#xff0c;可以使用以下代码&#xff1a;csharp using Excel Microsoft.Office.Interop.Excel;// 在工作表中查找包含特定关键字的单元格&#xff0c;并返回这些单元格所在…...

flask_restful规范返回值之参数设置

设置重命名属性和默认值 使用 attribute 配置这种映射 , 比如&#xff1a; fields.String(attributeusername) 使用 default 指定默认值&#xff0c;比如&#xff1a; fields.String(defaultsxt) from flask import Flask,render_template from flask_restful import A…...

基于java+springboot+vue实现的超市管理系统(文末源码+Lw+ppt)23-354

摘 要 系统根据现有的管理模块进行开发和扩展&#xff0c;采用面向对象的开发的思想和结构化的开发方法对超市管理的现状进行系统调查。采用结构化的分析设计&#xff0c;该方法要求结合一定的图表&#xff0c;在模块化的基础上进行系统的开发工作。在设计中采用“自下而上”…...

AI大模型学习:开启智能时代的新篇章

随着人工智能技术的不断发展&#xff0c;AI大模型已经成为当今领先的技术之一&#xff0c;引领着智能时代的发展。这些大型神经网络模型&#xff0c;如OpenAI的GPT系列、Google的BERT等&#xff0c;在自然语言处理、图像识别、智能推荐等领域展现出了令人瞩目的能力。然而&…...