Nmap初步学习

server/2024/12/17 4:31:30/

Target

实践内容:在目标系统中识别开放端口

涉及知识点:理解TCP/IP 协议、端口扫描技术、Nmap 工具使用、服务识别。

Trail

命令

nmap -sS <ip>  //SYN半开扫描,使用最频繁,安全,快
nmap -sT    //TCP连接扫描,不安全,慢
nmap -sA 192.168.96.4  //TCP ACK 扫描检测哪些端口被屏蔽
nmap -sU 192.168.96.4  //UDP扫描,慢,可得到有价值的服务器程序
nmap -p <portnumber> <ip> //对指定端口扫描
namp -p- <ip>           //对所有端口进行扫描
nmap -A <ip>  //强力扫描,耗时长
nmap -sP <ip>  //仅仅对目标进行ping检测
namp -PN <ip/24>    // NO PING 扫描 绕过ping命令而不影响主机发现
nmap -sV <ip>  //对端口上的服务程序版本进行扫描
nmap -O <ip>  //对目标主机的操作系统进行扫描
nmap -f <IP>
//通过将数据包分割成更小的部分发送,使得防火墙更难识别这些数据包属于一个扫描流量

实验1

主机存活检测

nmap -sP [ip]

==》目标主机在线

全端口扫描

nmap -p T:1-65535,U:1-65535 -sS -sU [靶机IP]

==》 mysql、http、远程桌面服务等运行

应用程序和版本侦测

namp -sV -O [ip]

==》 Apache httpd 2.4.4, php 版本 5.3.26 , Window Server 2003

实验2:

内容:利用Wireshark辅助分析Nmap的TCP SYN、TCP connect和TCP ACK等扫描方式的发包过程,验证了这些扫描方式的原理。

启动wireshark,开启 eth0 抓包,封包过滤 ip.addr == [操作机IP]

1.使用nmap对靶机80端口进行 TCP SYN 扫描

nmap -p 80 -sS [靶机IP]

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

半开扫描

2.使用nmap对靶机80端口进行 TCP Connect 扫描 并wireshark封包观察情况

nmap -p 80 -sT [靶机IP]

TCP connect原理分析:
Nmap向目标端口发送TCP SYN报文,如果目标机返回TCP SYN+ACK报文,则说明目标端口处于开放状态,同时Nmap会紧接着向目标机依次发送TCP ACK、TCP RST+ACK完成三次握手和重置此连接;如果目标机返回TCP RST+ACK报文,则说明目标端口处于关闭状态。

3.使用nmap对靶机80端口进行 TCP ACK扫描 并wireshark封包观察情

 

TCP ACK原理分析:
Nmap向目标端口发送TCP ACK报文,无论目标端口是否处于开放状态,目标机都会返回TCP RST报文。如果Nmap主机能收到此TCP RST报文,则说明目标端口未被防火墙屏蔽。
TCP ACK扫描只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。


http://www.ppmy.cn/server/150803.html

相关文章

Linux网络基础知识————网络编程

计算机网络的体系结构 网络采用分而治之的方法设计&#xff0c;将网络的功能划分为不同的模块&#xff0c;以分层的形式有机结合在一起 每层实现不同的功能&#xff0c;其内部实现的方法对外部其他层次来说是透明的&#xff0c;每层向上一层提供服务&#xff0c;使用下一层提供…

rsyslog、Webhook 和 SNMP

rsyslog、Webhook 和 SNMP 是三种不同的技术和协议&#xff0c;通常用于日志管理、监控、和事件通知等场景中。它们的作用和使用场景有所不同。下面我将详细解释它们的功能、工作原理、适用场景和区别。 1. rsyslog&#xff08;Remote System Logging Protocol&#xff09; 作…

react 计算属性

一、计算属性的概念&#xff08;通过函数和钩子实现&#xff09; 1. 使用useMemo钩子&#xff08;用于性能优化&#xff09; useMemo是一个 React 钩子&#xff0c;用于缓存计算结果。它会在组件重新渲染时&#xff0c;根据依赖项数组来决定是否重新计算。如果依赖项没有改变…

Node.js基础入门

1.Node.js 简介 Node 是一个让 JavaScript (独立)运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。 发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。 简单的说 Node.js 就是运行在服务端的…

图像分割数据集植物图像叶片健康状态分割数据集labelme格式180张3类别

数据集格式&#xff1a;labelme格式(不包含mask文件&#xff0c;仅仅包含jpg图片和对应的json文件) 图片数量(jpg文件个数)&#xff1a;180 标注数量(json文件个数)&#xff1a;180 标注类别数&#xff1a;3 标注类别名称:["Healthy","nitrogen deficiency"…

Docker方式安装人人影视离线完整安装包

本文软件由网友 ルリデ 推荐&#xff1b; 上周&#xff0c;人人影视创始人宣布将人人影视二十年字幕数据开源分享 目前提供了两种使用方式&#xff1a; “在线应用” &#xff1a;意味着需要有互联网才可以使用。官方提供了网站&#xff1a;https://yyets.click “离线使用” …

SparkSQL多个count distinct 执行效率优化

写了一段非常简单的SQL。 数据量级一天大约5千万&#xff0c;拉取的30天的数据&#xff0c;按天 count(distinct)计算一系列指标。原本以为执行的效率会很快&#xff0c;结果发现运行了2h&#xff01;所有探究其为什么运行慢&#xff0c;以及后续该如何规避这类问题。Spark使用…

xpath规则

路径表达式 谓语 用来查找某个特定的节点或者包含某个指定的值的节点 谓语被嵌在方括号中 选择未知节点 选取若干路径 使用“|”运算符 python中lxml使用 from lxml import etree import requests # 参数往往是一个html字符串 url "https://www.baidu.com/" hea…