1、nmap常用命令

文章目录

  • [1. 主机存活探测](#1. 主机存活探测)
  • [2. 常见端口扫描、服务版本探测、服务器版本识别](#2. 常见端口扫描、服务版本探测、服务器版本识别)
  • [3. 全端口(TCP/UDP)扫描](#3. 全端口(TCP/UDP)扫描)
  • [4. 最详细的端口扫描](#4. 最详细的端口扫描)
  • [5. 三种TCP扫描方式](#5. 三种TCP扫描方式)
    • [(1)TCP connect 扫描](#(1)TCP connect 扫描)
    • [(2)TCP SYN扫描](#(2)TCP SYN扫描)
    • [(3)TCP ACK扫描](#(3)TCP ACK扫描)

1. 主机存活探测

bash 复制代码
	nmap -sP <靶机IP>

-sP代表

2. 常见端口扫描、服务版本探测、服务器版本识别

推荐加上-v参数,可以看到扫描过程中的详细信息!!!

bash 复制代码
   	nmap -sV -O <靶机IP>

-sV:扫描默认1000个端口的服务情况和端口开放情况;
-O:操作系统探测。

注意:

  1. nmap -sV <ip地址>直接探测服务版本,也会得到服务器版本信息。
  2. nmap -p- -sV <ip地址>全端口扫描,不加-p-就是对常见的TCP端口进行扫描。

3. 全端口(TCP/UDP)扫描

bash 复制代码
	nmap -p T:1-65535,U:1-65535 -sS -sU [靶机IP] // 对TCP、UDP均进行全端口扫描

-p :扫描指定端口;
-sS:指定使用TCP SYN的方式对目标主机进行扫描;
-sU:指定使用UDP扫描的方式确定目标主机的UDP端口状况;

4. 最详细的端口扫描

bash 复制代码
	nmap -sS -T4 -A -p- <ip地址>

-p :扫描指定端口;
-sS:指定使用TCP SYN的方式对目标主机进行扫描;
-A:使用进攻性(Aggressive)方式扫描;
-T4:表示指定扫描过程使用的时序,共有六个级别(0-5),级别越高,扫描速度越快。在网络通信状况良好的情况下推荐使用T4。
-v:这个参数表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节。


5. 三种TCP扫描方式

bash 复制代码
	-sT:TCP connect扫描
	-sS:TCP SYN扫描
	-sA:TCP ACK扫描

(1)TCP connect 扫描

命令nmap -p 80 -sT <IP地址>
原理 :Nmap向目标端口发送TCP SYN报文,如果目标机返回TCP SYN+ACK报文,则说明目标端口处于开放状态,同时Nmap会紧接着向目标机依次发送TCP ACK、TCP RST+ACK完成三次握手和重置此连接;如果目标机返回TCP RST+ACK报文,则说明目标端口处于关闭状态。

实验:


(2)TCP SYN扫描

命令nmap -p 80 -sS <IP地址>

原理 :Nmap向目标端口发送TCP SYN报文,如果目标机返回TCP SYN+ACK报文,则说明目标端口处于开放状态,同时Nmap会紧接着向目标机发送TCP RST报文以重置此连接;如果目标机返回TCP RST+ACK报文,则说明目标端口处于关闭状态。

实验:

(3)TCP ACK扫描

命令nmap -p 80 -sA <IP地址>

原理 :Nmap向目标端口发送TCP ACK报文,无论目标端口是否处于开放状态,目标机都会返回TCP RST报文。如果Nmap主机能收到此TCP RST报文,则说明目标端口未被防火墙屏蔽。

TCP ACK扫描只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。

实验:


相关推荐
好奇龙猫5 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
saoys5 小时前
Opencv 学习笔记:图像掩膜操作(精准提取指定区域像素)
笔记·opencv·学习
电子小白1237 小时前
第13期PCB layout工程师初级培训-1-EDA软件的通用设置
笔记·嵌入式硬件·学习·pcb·layout
唯情于酒7 小时前
Docker学习
学习·docker·容器
clorisqqq8 小时前
人工智能现代方法笔记 第1章 绪论(1/2)
人工智能·笔记
charlie1145141918 小时前
嵌入式现代C++教程: 构造函数优化:初始化列表 vs 成员赋值
开发语言·c++·笔记·学习·嵌入式·现代c++
IT=>小脑虎9 小时前
C++零基础衔接进阶知识点【详解版】
开发语言·c++·学习
#眼镜&9 小时前
嵌入式学习之路2
学习
码农小韩9 小时前
基于Linux的C++学习——指针
linux·开发语言·c++·学习·算法
微露清风9 小时前
系统性学习C++-第十九讲-unordered_map 和 unordered_set 的使用
开发语言·c++·学习