Nmap介绍

1.Nmap介绍

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

1.1 Zenmap

Zenmap是Nmap官方提供的图形界面,通常随Nmap的安装包发布。Zenmap是用Python语言编写而成的开源免费的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS等)。Zenmap旨在为nmap提供更加简单的操作方式。

以百度(www.baidu.com或61.135.169.125)为例,使用Zenmap

  • 显示主界面,填写目标地址

  • 显示扫描目标主机的端口号(80和443)

  • 拓扑

  • 目标主机的情况

对比Zenmap和命令模式下的不同:(使用nmap www.baidu.com或namp 61.135.121)

扫描得到的端口号都是一样的,命令行模式简单明了,时间短。以下都使用命令模式操作。

2.Nmap扫描的基本方法

Nmap主要包括四个方面的扫描功能,主机发现、端口扫描、应用与版本侦测、操作系统侦测。这里先介绍端口扫描。

红框内的内容是重要的

绿色内容表示有998个端口被屏蔽了,也就是说明了网站的防火墙是开启的,因为没有开启防火墙是不会对端口进行屏蔽的。

蓝色部分表示开放的端口号,状态,以及服务

2.1常见服务对应端口号:

服务端口号
HTTP80
HTTPS443
Telnet23
FTP21
SSH(安全登录)、SCP(文件传输)、端口重定向22
SMTP25
POP3110
WebLogic7001
TOMCAT8080
WIN2003远程登录3389
Oracle数据库1521
MS SQL* SEVER数据库sever1433
MySQL 数据库sever3306

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 2.2端口的状态有以下几种:

状态详细的参数说明
 Open 端口开启,数据有到达主机,有程序在端口上监控
 Closed 端口关闭,数据有到达主机,没有程序在端口上监控
 Filtered 数据没有到达主机,返回的结果为空,数据被防火墙或者是IDS过滤
 UnFiltered 数据有到达主机,但是不能识别端口的当前状态
 Open|Filtered 端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中

 Closed|Filtered

 只发生在IP ID idle扫描

 

 

 

 

 

 

 

为什么要关注这些端口

2.3 使用的命令

nmap -F -sT -v www.baidu.com

-F:扫描100个最有可能开放的端口   -v 获取扫描的信息   -sT:采用的是TCP扫描 不写也是可以的,默认采用的就是TCP扫描

2.4 扫描方式

全连接扫描,三次握手防火墙能有效拦截,故很少使用 (产生大量日志,很少使用)
半链接扫描,三次握手前两次,源SYN 目标SYN/ACK 端口开放;源SYN 目标RST/ACK 端口关闭 (不记日志,隐蔽性好)
秘密扫描,发送FIN,返回RST (端口关闭,回复RST包;端口开放,不回复)

半链接扫描与叫做间接扫描
FIN扫描、Xmas扫描、Null扫描对Windows无效

nmap 类型 选项 目标

 nmap -sT TCP扫描  全链接扫描
 nmap -sS SYN扫描  半链接扫描
 nmap -sF FIN扫描  秘密扫描 除SYN、ACK其它位置1
 nmap -sX Xmas扫描  秘密扫描 FIN、URG、PUSH位置1
 nmap -sN Null扫描 秘密扫描 标志位全为0,发送TCP分组
 nmap -sP ping扫描 同时使用ICMP和TCP ACK 80,返回RST说明主机运行(外网)
 nmap -sU UDP扫描  发送0字节UDP包,快速扫描Windows的UDP端口
 nmap -sA ACK扫描  TCP ACK扫描,当防火墙开启时,查看防火墙有未过虑某端口
 nmap -sW 滑动窗口扫描 
 nmap -sR RPC扫描
 nmap -b  FTP反弹攻击(FTP Bounce attack) 外网用户通过FTP渗透内网
 nmap -P0 Nmap扫描前不Ping目标主机
 nmap -PT Nmap扫描前使用TCP ACK包确定主机是否在运行(-PT默认80)
 nmap -PS Nmap使用TCP SYN包进行扫描
 nmap -PI Nmap进行Ping扫描
 nmap -PB 结合-PT和-PI功能
 nmap -O  Nmap扫描TCP/IP指纹特征,确定目标主机系统类型
 nmap -I  反向标志扫描,扫描监听端口的用户
 nmap -f  分片发送SYN、FIN、Xmas、和Null扫描的数据包
 nmap -v  冗余模式扫描,可以得到扫描详细信息
 nmap -oN 扫描结果重定向到文件
 nmap -resume 使被中断的扫描可以继续
 nmap -iL -iL,扫描目录文件列表
 nmap -p  -p扫描端口列表,默认扫描1-1024端口和/usr/share/nmap/nmap-services文件中指定端口;
    -p例:23;20-30,139,60000-
 nmap -F  快速扫描模式,只扫描nmap-services文件中的端口
 nmap -D  欺骗扫描,可有效隐藏扫描者IP地址
 nmap -S  在欺骗扫描时,用来指定源主机IP
 nmap -e  指定从哪个网卡发送和接收数据包
 nmap -g  指定扫描源端口
 nmap -r  按顺序扫描端口

2.5 端口扫描

2.5.1 Tcp扫描(-sT)

这是一种全连接扫描方式之一,这种扫描方法的特点是:扫描的速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现

运行的原理:通过建立TCP的三次握手连接来进行信息的传递

① Client端发送SYN;

② Server端返回SYN/ACK,表明端口开放;

③ Client端返回ACK,表明连接已建立;

④ Client端主动断开连接。

用wireshark对扫描过程进行抓包分析:(使用命令nmap -F -sT -v 61.135.169.121)

2.5.2 SYN扫描(-sS)

这是一种半链接的扫描方式之一,因为在SYN扫描中Client端和Server端没有形成3次握手,所以没有建立一个正常的TCP连接,因此不被防火墙和日志所记录,一般不会再目标主机上留下任何的痕迹,但是这种扫描是需要root权限(对于windows用户来说,是没有root权限这个概念的,root权限是linux的最高权限,对应windows的管理员权限)

运行的原理图如下:

对RST包的讲解请看:

https://my.oschina.net/costaxu/blog/127394

用wireshark对扫描过程进行抓包分析:(使用命令nmap -F -sS -v 61.135.169.121)

等了很长时间一直没抓到RST包。

2.5.3 ACK扫描(-sA)

ACK扫描的原理是发送一个ACK包给目标主机,不论目标主机的端口是否开启,都会返回相应的RST包,通过判断RST包中的TTL来判断端口是否开启

运行原理图:

TTL值小于64端口开启,大于64端口关闭

用wireshark对扫描过程进行抓包分析:(使用命令nmap -F -sA -v 61.135.169.121)

也没有抓到RST包。

转载于:https://www.cnblogs.com/lv6965/p/7722210.html

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

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

相关文章

SD/MMC相关寄存器的介绍

1.SD卡内部架构 在熟悉SD/MMC相关寄存器之前,我们先来看看SD卡的内部架构是怎么样的,如下图所示: 2.SD/MMC相关寄存器的介绍 从上图中总结出:SD卡内部有7个寄存器. 一、OCR,CID,CSD和SCR寄存器保存卡的配置信息; 二、RCA寄存器保存…

apche 禁止运行php,学习猿地-apache如何禁止执行php

apache禁止执行php的方法:首先新建一个“.htaccess”文件;然后复制代码内容“Order allow,deny”到“.htaccess”文件中;最后将该文件直接放到网站根目录里即可。apache禁止执行php的方法:第一种禁止上传目录运行php的方法如果你用…

Apache Camel 2.11发布

上周Apache Camel 2.11发布了。 这篇博客文章总结了最引人注目的新功能和改进。 有关详细说明,请参见Camel 2.11发行说明 。 1)新组件 与往常一样,每个新发行版都包含许多新组件,这些组件由我们庞大的用户群贡献。 谢谢你们。 例…

linux分区满了,如何进行扩容

转自:https://blog.csdn.net/valage/article/details/73332147 图片中可以看到挂载点“/”的利用率移到100%,空间不够,所以要对其进行分区。 1. 先进入虚拟机设置里增大磁盘空间 注意:将25改成50,以扩大空间。这里…

DIV CSS布局-固定页面开度布局

DIV CSS布局中主要CSS属性介绍&#xff1a; Float: Float属性是DIV CSS布局中最基本也是最常用的属性&#xff0c;用于实现多列功能&#xff0c;我们知道<div>标签默认一行只能显示一个&#xff0c;而使用Float属性可以实现一行显示多个div的功能&#xff0c;最直接解释…

纯 CSS 实现波浪效果!

一直以来&#xff0c;使用纯 CSS 实现波浪效果都是十分困难的。 因为实现波浪的曲线需要借助贝塞尔曲线。 而使用纯 CSS 的方式&#xff0c;实现贝塞尔曲线&#xff0c;额&#xff0c;暂时是没有很好的方法。 当然&#xff0c;借助其他力量&#xff08;SVG、CANVAS&#xff09…

Mysql 数据库(三)

一、数值类型 1、整数类型&#xff1a;应用场景&#xff0c;存放年龄&#xff0c;等级&#xff0c;id或者各种号码等等 TINYINT&#xff1a;1个字节存放&#xff0c;有符号范围&#xff1a;-128到127&#xff0c;没有符号范围&#xff1a;0&#xff0c;255 。 SMALLINT&#xf…

Thonny -- 简洁的 python 轻量级 IDE

Thonny目前是 树莓派 上 默认的 Python 开发环境。 该 IDE 是 Institute of Computer Science of University of Tartu &#xff08;爱沙尼亚 的 塔尔图大学 计算机科学院&#xff09;开发的。 最近 yvivid 也体验了一下 Thonny 的开发环境&#xff0c;网站地址为 http://thonn…

如何造成内存泄漏

这将是一个相当邪恶的职位-当您确实希望使某人的生活陷入困境时&#xff0c;您将在谷歌上搜索。 在Java开发领域&#xff0c;内存泄漏只是您在这种情况下会引入的错误类型。 为您的受害者保证几天甚至几周的办公室不眠之夜。 我们将在这篇文章中描述两次泄漏。 两者都很容易理…

javascript 之异常处理try catch finally--05

语法结构 try catch finally是ECMAScript-262 第三版提供异常处理机制的标准&#xff0c;语法结构如下&#xff1a; 1 try{ 2 //可能会发生的错误代码 3 } 4 catch(error){ 5 //错误处理 6 }finally{ 7 //无论是否有异常都会执行 8 } 语法与大多数语言一样 如java .net&#x…

CSS实现文本周围插入符号

CSS实现文本周围插入符号的方案 本文要讨论的是如何在文本的周围插入图标&#xff0c;怎么样控制它们之间的位置关系&#xff0c;通过HTML结构合理性与CSS属性的使用来比较不同方案所实现效果的优缺点。 常见设计稿要求 在文本前、后、上、下插入图标、线条、三角形、圆形插…

mysql动态sql是什么,mysql中动态sql的一次实际应用

一、前言本次实际应用中&#xff0c;使用到了如下几个要点&#xff1a;mysql的动态建表;mysql的多表插入;mysql的多表更新;mysql的多表删除;二、使用场景2.1 动态建表要求建立多个表&#xff0c;例如电压、电流等表&#xff0c;这些表的字段是完全一样的&#xff0c;只有表名不…

Spring MVC会话教程

会话管理是每个Web应用程序必不可少的部分。 由于Spring MVC是用于Web开发的功能强大的框架&#xff0c;因此它具有自己的工具和API与会话进行交互。 今天&#xff0c;我打算向您展示Spring MVC应用程序中会话处理的基本方法。 这意味着处理表单&#xff0c;将对象添加到会话中…

如何运行开源的安卓项目?

第一步:进入github开源安卓项目中&#xff0c;点击clone 第二步&#xff1a;打开android studio&#xff0c;选择checkout从Git中迁出项目 将github的地址复制进去 第三步&#xff1a;系统会自动下载&#xff0c;加载一段时间。然后出现下面的就算是结束了。 最后&#xff0c;运…

fis pure开发php,50个精品网站鉴赏

50个精品网站鉴赏介绍给大家的是几千个世界优秀网站中的精中之精的作品&#xff0c;都有非常不错的创意&#xff0c;推荐给众多网站的设计人员&#xff0c;好好借鉴一下别人是怎么设计网站的。这些网站主要的制作工具为FLASH&#xff0c;因为它有较好、较强的动态效果&#xff…

微信公众平台——被动回复用户消息

微信公众平台——被动回复用户消息 开发模式下的回复信息基础接口&#xff0c;可用来向用户回复文本消息、图片消息、语音消息、视频消息、小视频消息、地理位置消息、链接消息。 1、回复文本消息 function ReplyText(Msg: TMessage; MsgText: String): RawByteString; varX: I…

Java EE CDI bean范围

Java EE平台的上下文和依赖注入&#xff08;CDI&#xff09;是一项功能&#xff0c;可帮助将Java EE平台的Web层和事务层绑定在一起。 CDI是一组服务&#xff0c;可以一起使用&#xff0c;使开发人员可以轻松地在Web应用程序中使用企业bean和JavaServer Faces技术。 在CDI中&a…

php强类型 vscode,VSCode + WSL 2 + Ruby环境搭建图文详解

vscode配置ruby开发环境vscode近年来发展迅速&#xff0c;几乎在3年之间就抢占了原来vim、sublime text的很多份额&#xff0c;犹记得在2015-2016年的时候&#xff0c;ruby推荐的开发环境基本上都是vim和sublime text&#xff0c;然而&#xff0c;随着vscode的发展&#xff0c;…

关于网页导航栏制作的几种方法与常见问题解决(新人向)

无序列表是html页面排版经常用到的非常实用的标签&#xff0c;但是新手在使用无序列表时&#xff0c;经常会在横向排版上出现问题&#xff0c;笔者在这里提供了笔者在使用无序列表制作网页导航栏时的几种方法与常见问题的解决问题。&#xff08;以css内部样式为例&#xff09; …

html 语义化标签拾遗

1、del和ins标签 兼容性&#xff1a;浏览器全部支持 del&#xff1a;定义文档中已被删除的文本。 ins&#xff1a;定义已经被插入文档中的文本。 <!DOCTYPE html><html lang"zh"><head><meta charset"UTF-8" /><title>ht…