网络探测工具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

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

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

相关文章

基于 Linux 的更新版 MaxPatrol VM 可扫描 Windows

👾 MaxPatrol VM 2.1 是俄罗斯唯一一款可以安装在 Linux 上并以审计和五重测试模式扫描 Windows 主机(甚至是旧版本)的漏洞管理产品。 让我们告诉你更新后的 MaxPatrol VM 还有哪些有用的功能: 1. 由于采用了新的数据存储模式&a…

【物联网开源平台】tingsboard安装与编译

别看这篇了,这篇就当我的一个记录,我有空我再写过一篇,编译的时候出现了一个错误,然后我针对那一个错误执行了一个命令,出现了绿色的succes,我就以为整个tingsboard项目编译成功了,后面发现的时候&#xff…

dubbo 源码系列之-集群三板斧---负载均衡(二)

在上一课时我们了解了 LoadBalance 接口定义以及 AbstractLoadBalance 抽象类的内容,还详细介绍了 ConsistentHashLoadBalance 以及 RandomLoadBalance 这两个实现类的核心原理和大致实现。本课时我们将继续介绍 LoadBalance 的剩余三个实现。 LeastActiveLoadBala…

C语言从入门到实战----数据在内存中的存储

1. 整数在内存中的存储 在讲解操作符的时候,我们就讲过了下⾯的内容: 整数的2进制表⽰⽅法有三种,即 原码、反码和补码 有符号的整数,三种表⽰⽅法均有符号位和数值位两部分,符号位都是⽤0表⽰“正”,⽤…

[蓝桥杯 2022 省 A] 求和

[蓝桥杯 2022 省 A] 求和 题目描述 给定 n n n 个整数 a 1 , a 2 , ⋯ , a n a_{1}, a_{2}, \cdots, a_{n} a1​,a2​,⋯,an​, 求它们两两相乘再相加的和,即 S a 1 ⋅ a 2 a 1 ⋅ a 3 ⋯ a 1 ⋅ a n a 2 ⋅ a 3 ⋯ a n − 2 ⋅ a n − 1 a n − 2 ⋅ a…

【MD】激光驱动原子动力学的全尺寸从头算模拟

Zeng Q, Chen B, Zhang S, et al. Full-scale ab initio simulations of laser-driven atomistic dynamics[J]. npj Computational Materials, 2023, 9(1): 213.核心研究内容: 本文研究了激光驱动的原子动力学的全尺度从头算模拟。研究的重点是探讨在极端条件下材料…

Linux基础系统设置与备份策略

文章目录 Linux基础系统设置网络设置(手动设置与DHCP自动获取):nmcli、hostname日期与时间设置:timedatectl、ntpdate语系设置防火墙简易设置 Linux 服务器硬件数据的收集:dmidecode、lspci、lsusb、iostat了解磁盘的健康状态Linux 备份要点确…

【MySQL】2.MySQL数据库的基本操作

目录 数据库基本操作 查看数据库信息 查看数据库结构 显示数据表的结构(字段) 常用的数据类型 数据库管理操作 SQL语句概述 SQL分类 1.DDL:数据定义语言 1.1创建数据库和表 创建数据库 创建数据表 1.2删除数据库和表 删除数据表…

vscode c++环境配置

1.基础软件安装 安装Visual Studio Code. 安装C拓展。点击在vscode界面最左侧的Extensions图标(打开快捷键:ctrlshiftX),搜索“C/C”,点击进行安装。 确保已安装gcc. 一般ubuntu系统会预装gcc.在终端窗口中输入如下…

Linux系统使用Docker部署Jupyter Notebook结合内网穿透实现公网访问本地笔记

文章目录 1. 选择与拉取镜像2. 创建容器3. 访问Jupyter工作台4. 远程访问Jupyter工作台4.1 内网穿透工具安装4.2 创建远程连接公网地址4.3 使用固定二级子域名地址远程访问 本文主要介绍如何在Ubuntu系统中使用Docker本地部署Jupyter Notebook,并结合cpolar内网穿透…

《早起的奇迹》要么躺在床上等待生活的暴击,要么早起创造奇迹 - 三余书屋 3ysw.net

精读文稿 今天我们讲述的是关于《早起的奇迹》。通过神奇的早起,我们可以获得改变人生的力量。首先我要给你讲一个故事,这个故事的主人公是一个年轻人,他在少年时就取得了巨大的成就,在15岁时他已经拥有了自己的电台节目&#xff…

数据结构:堆和二叉树遍历

堆的特征 1.堆是一个完全二叉树 2.堆分为大堆和小堆。大堆:左右节点都小于根节点 小堆:左右节点都大于根节点 堆的应用:堆排序,topk问题 堆排序 堆排序的思路: 1.升序排序,建小堆。堆顶就是这个堆最小…

2024/03/27(C++·day3)

一、思维导图 二、完成下面类 代码 #include <cstring> #include <iostream>using namespace std;class myString { private:char *str; // 记录C风格的字符串int size; // 记录字符串的实际长度public:// 无参构造函数myString() : size(10){str new char[si…

JVM(六)——内存模型与高效并发

内存模型与高效并发 一、java 内存模型 【java 内存模型】是 Java Memory Model&#xff08;JMM&#xff09; 简单的说&#xff0c;JMM 定义了一套在多线程读写共享数据时&#xff08;成员变量、数组&#xff09;时&#xff0c;对数据的可见性、有序 性、和原子性的规则和保障…

基于springboot+vue+Mysql的网上图书商城

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

M1 mac安装 Parallels Desktop 18 激活

M1 mac安装 Parallels Desktop 18 激活 下载安装Parallels Desktop 18.1.1 (53328) 激活1. 拷贝prl_disp_service2. 在终端打开Crack所在位置3. 输入命令&#xff0c;激活成功 下载 安装包和激活文件下载地址 链接: https://pan.baidu.com/s/1EjT7xeEDcntIIoOvvhBDfg?pwd9pue …

基于springboot的房屋租赁管理系统+数据库+免费远程调试

项目介绍: 基于springboot的房屋租赁管理系统。Javaee项目&#xff0c;springboot项目&#xff0c;采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringBoot JspMaven来实现。MyS…

基于Springboot的艺体培训机构业务管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的艺体培训机构业务管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层…

【Linux】模拟实现shell(bash)

目录 常见的与shell互动场景 实现代码 全部代码 homepath()接口 const char *getUsername()接口 const char *getHostname()接口 const char *getCwd()接口 int getUserCommand(char *command, int num)接口 void commandSplit(char *in, char *out[])接口 int execut…

IDEA报错Access denied for user ‘root‘@‘localhost‘ (using password: YES)

密码没错&#xff0c;可以正常连接上Mysql 甚至连图形化界面都可以连接得上 重改密码&#xff0c;没有用。 查看端口是3306也没有问题 看端口是不是被多个进程占用&#xff0c;果然&#xff01; 在资源管理器关掉一个后就行了