Windows下namp的使用(需要先下载nmap,才可以在cmd中直接使用)

探测网段中存活的主机


首先查看本机网段

使用namp对这一网段进行扫描

使用命令:nmap -sP 192.168.1.0/24

扫描到3个存活主机,其中包含本机

探测存活的主机所开放的端口(可指定范围)

使用命令:nmap -p 0-5555 192.168.1.100

代码中 nmap -p 0-5555 192.168.1.100 0-5555指的是探测端口的范围


这是扫描另一个主机的信息

探测主机版本

使用命令:nmap -O 192.168.1.101

这篇文章只是列举了简单的nmap命令,仅供参考。

nmap扫描器的原理:

主机发现原理

主机发现发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。Nmap支持十多种不同的主机探测方式,比如发送ICMP ECHO/TIMESTAMP/NETMASK报文、发送TCPSYN/ACK包、发送SCTP INIT/COOKIE-ECHO包,用户可以在不同的条件下灵活选用不同的方式来探测目标机。
主机发现基本原理:(以ICMP echo方式为例)
默认情况下,Nmap会发送四种不同类型的数据包来探测目标主机是否在线。

  1. ICMP echo request
  2. a TCP SYN packet to port 443
  3. a TCP ACK packet to port 80
  4. an ICMP timestamp request

依次发送四个报文探测目标机是否开启。只要收到其中一个包的回复,那就证明目标机开启。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误。

端口扫描原理

1.TCP SYN scanning
这是Nmap默认的扫描方式,通常被称作半开放扫描(Half-open scanning)。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么判断该端口被屏蔽(Filtered)。因为该方式仅发送SYN包对目标主机的特定端口,但不建立的完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广。
2.TCP connect scanning
TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑选择的方式。
3.TCP ACK scanning
向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏蔽;没有收到RST包,说明被屏蔽。该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。
4. TCP FIN/Xmas/NULL scanning
这三种扫描方式被称为秘密扫描(Stealthy Scan),因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN包或Xmas tree包/Null包,如果收到对方RST回复包,那么说明该端口是关闭的;没有收到RST包说明端口可能是开放的或被屏蔽的(open|filtered)。
其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有flags都为0的TCP包。
5. UDP scanning
UDP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没有收到回复,那说明UDP端口可能是开放的或屏蔽的。因此,通过反向排除法的方式来断定哪些UDP端口是可能出于开放状态。

版本侦测原理

版本侦测主要分为以下几个步骤:
首先检查open与open|filtered状态的端口是否在排除端口列表内。如果在排除列表,将该端口剔除。
如果是TCP端口,尝试建立TCP连接。尝试等待片刻(通常6秒或更多,具体时间可以查询文件nmap-services-probes中Probe TCP NULL q||对应的totalwaitms)。通常在等待时间内,会接收到目标机发送的“WelcomeBanner”信息。nmap将接收到的Banner与nmap-services-probes中NULL probe中的签名进行对比。查找对应应用程序的名字与版本信息。
如果通过“Welcome Banner”无法确定应用程序版本,那么nmap再尝试发送其他的探测包(即从nmap-services-probes中挑选合适的probe),将probe得到回复包与数据库中的签名进行对比。如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定。
如果是UDP端口,那么直接使用nmap-services-probes中探测包进行探测匹配。根据结果对比分析出UDP应用服务类型。
如果探测到应用程序是SSL,那么调用openSSL进一步的侦查运行在SSL之上的具体的应用类型。
如果探测到应用程序是SunRPC,那么调用brute-force RPC grinder进一步探测具体服务。

各种功能的原理参考链接:https://www.cnblogs.com/tdcqma/p/5692546.html
本篇文章仅供参考

windows下namp的基本操作命令相关推荐

  1. windows下对路由表的操作命令

    查看官方介绍 1.键盘上按WIN+R打开运行窗口,然后输入cmd回车进入命令行. 2.在命令行下输入route命令,会有对应的提示信息: 命令功能:操作网络路由表. 命令参数格式: ROUTE [-f ...

  2. Windows下超详细安装Anaconda3以及jupyter notebook

    Anaconda是一个软件包管理器,一个环境管理器以及一个Python发行版,其中包含许多开源软件包的集合(numpy,scikit-learn,scipy,pandas等).如果在安装Anacond ...

  3. windows打开的winform当前焦点 是否是hwnd_推介几款 windows 下非常好用的工具

    在下工具控一枚,平时会留意收集各种各样给我们生活生产带来便捷的工具,毕竟人生苦短:下面主要介绍一些我在 Windows 系统上发现的一些好用的工具,并且会一笔带过主要优点特点,具体详细用法可以搜一下, ...

  4. Windows下Nginx的启动、停止等基本命令

    2019独角兽企业重金招聘Python工程师标准>>> Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停 ...

  5. 怎么把linux虚拟机硬盘扩容,Windows下虚拟机Linux(CentOS8)扩容设置 - 磁盘扩容中的坑和解决方法...

    摘要:[原创]转载请注明作者Johnthegreat和本文链接 由于虚拟机空间不足,为了避免重装虚拟机,做了一次无损扩容. 过程中的报错如下: 为了详细记录,这里将整个过程详述如下: 一.问题和需求 ...

  6. Windows下常用的100个CMD指令以及常见的操作

    为什么80%的码农都做不了架构师?>>>    Windows下常用的100个CMD指令以及常见的操作 常用的100个CMD指令 gpedit.msc-–组策略 2. sndrec3 ...

  7. Windows下安装Golang开发环境-SDK安装

    Windowsx下搭建Golang开发环境-安装和配置SDK安装 SDK含义及下载 windows下安装SDK 验证SDK是否安装成功 Windows下配置Golang的环境变量 测试环境变量是否配置 ...

  8. win环境20分钟搭建php+sql服务器Apache+php+mysql在windows下的安装与

    Apache+php+mysql在windows下的安装与配置图解 先准备好软件: Apache官方下载地址:apache_2.0.55-win32-x86-no_ssl.msi,http://mir ...

  9. 怎么在windows下使用gvim

    转自:http://jingyan.baidu.com/article/af9f5a2d2ba82843140a4584.html Gvim这个编辑器强大,快捷,而且很小,够自由.但是,windows ...

  10. windows下执行.sh脚本

    现在开发项目遇到一个问题,mac系统和windows下开发,对于mac下的sh脚本,想要在windows下也能正常执行,通过了解,安装cygwin,Cygwin是一个在windows平台上运行的类UN ...

最新文章

  1. canny边缘检测 关于2个阈值参数
  2. windows下使用cmd查看连接过的wifi密码
  3. GO语言初识(为go开发android做准备)
  4. iOS开发笔记 8、真机调试和发布软件
  5. java接口示例_【基础篇】java-接口及其示例
  6. CF 1103B Game with modulo
  7. printf 宏 调试技巧
  8. POJ 3250 Bad Hair Day【单调队列】
  9. struts的action属性自动注入原理
  10. STC学习:电子音乐
  11. Python植物大战僵尸源码分享
  12. C语言练习题 日期天数转换
  13. Android车载应用开发与分析(11)- 车载Android应用开发入门指南
  14. QT QTableView(基于QStandardItemModel用法)操作详解
  15. iOS小技能:常用预处理指令(移除程序中的identifier、发布模式关闭NSLog、导出和隐藏符号)
  16. excel多表数据自动关联
  17. python 源代码 macd双底 高 低_利用Python实现MACD''顶底背离''形态,并实现自动化交易!...
  18. C语言atan2()函数:求y/x的反正切值
  19. 精简版Win10/11系统无法登录Xbox及Minecraft Launcher解决方法,不需要重装系统
  20. 阿西莫夫科幻巨著 “基地三部曲”推荐

热门文章

  1. 下载Postman并且汉化使用
  2. H5基础阶段二(表格、表单)
  3. 2021白盒测试常用工具介绍【建议收藏】
  4. WEB前端是干什么的?
  5. 运用现代信息技术 推进环评大数据建设
  6. 2022年低压电工考试题模拟考试平台操作
  7. Java面试图片找规律,校招 - 行业测评题、图形推理题、逻辑思维面试题,解题技巧汇总...
  8. 学习哪一款EDA软件画PCB电路板比较好?AD、PADS与Allegro的比较
  9. 人体姿态识别代码深度解析,带你一步步理解代码
  10. c++调用powershell_告别 Windows 终端的难看难用,从改造 PowerShell 的外观开始