当前位置: 首页 > article >正文

Nmap初步学习

Target

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

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

Trail

Nmap是一个网络连接端扫描软件,通过扫描可以确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。它是网络管理员常用的扫描软件之一。

通过扫描,Nmap将端口划分为6个状态

(1)open:端口是开放的。
(2)closed:端口是关闭的。
(3)filtered:端口被Firewall/IDS/IPS屏蔽,无法确定其状态。
(4)unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。
(5)open|filtered:端口是开放的或被屏蔽。
(6)closed|filtered:端口是关闭的或被屏蔽。

命令

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的方式来判断目标主机防火墙的状况。

基本使用案例

扫描一个范围内的目标

nmap 192.168.2.1-100

扫描目标地址所在网段

nmap 192.168.43.0/24

对目标地址进行路由追踪

nmap --traceroute 192.168.2.101

进阶使用案例

nmap -T4 -A -v ip

-T4:这个参数设置了扫描的时间模板。nmap 有五个时间模板,从 -T0(极慢,最隐蔽)到 -T5(最快,最不隐蔽)。-T4 表示“正常”的扫描速度,既不是最快的也不是最慢的,适合大多数情况。

-v:这个参数代表“详细模式”(verbose)。

Windows下 Zenmap GUI

很简单,基本能实现命令行下的namp功能。

补充

IP简介

192.168.43.132 与 192.168.1.13 的区别

IP地址192.168.43.132和192.168.1.13都属于私有IP地址范围,具体来说,它们都属于C类地址,通常用于局域网(LAN)环境中。这两个地址的主要区别在于它们的网络部分和主机部分:

  1. 网络部分(Network Part)

    • 192.168.43.132的网络部分是192.168.43,而192.168.1.13的网络部分是192.168.1。

    • 这意味着这两个地址属于不同的网络。在没有路由器或网络地址转换(NAT)设备的情况下,这两个网络之间的设备不能直接通信。

  2. 主机部分(Host Part)

    • 192.168.43.132的主机部分是.132,而192.168.1.13的主机部分是.13。

    • 这表示即使在各自的网络内部,这两个地址也指向不同的设备。

  3. 子网掩码

    • 如果没有特别说明,这两个地址都可能使用默认的C类子网掩码255.255.255.0。

    • 这个子网掩码意味着前24位(即前三个点分十进制数)是网络部分,最后一个八位(即最后一个点分十进制数)是主机部分。

  4. 通信

    • 如果这两个地址位于同一个局域网内,并且路由器或交换机配置正确,它们可以通过网络设备进行通信。

    • 如果它们位于不同的局域网内,那么它们不能直接通信,除非有路由器或其他网络设备将这两个网络连接起来。

  5. 用途

    • 这两个地址通常用于家庭或小型企业的内部网络,不用于互联网上的全球路由。


http://www.kler.cn/a/443201.html

相关文章:

  • 计算机网络之---无线网络的传输介质
  • java通过ocr实现识别pdf中的文字
  • 【LeetCode】力扣刷题热题100道(21-25题)附源码 接雨水 合并区间 字母异位词 滑动窗口 覆盖子串(C++)
  • 牛客网刷题 ——C语言初阶——BC96-有序序列判断
  • 【MySQL系列文章】Linux环境下安装部署MySQL
  • Wsl报 不存在具有提供的名称的分布
  • React中定义和使用类式组件
  • nano编辑器的使用
  • 4.metagpt中的软件公司智能体 (ProjectManager 角色)
  • CSS Backgrounds(背景)
  • 干掉运动模糊!Deblur4DGS:清晰的高质量视频动态重建
  • Mongodb 启用认证
  • 图变换器的再思考:谱注意力网络
  • Oracle Database 21c Express Edition数据库 和 Sqlplus客户端安装配置
  • Unity类银河战士恶魔城学习总结(P178 Archer s arrow 弓箭手的箭)
  • 从Windows到Linux:跨平台数据库备份与还原
  • 利用Java爬虫获得京东JD商品SKU信息
  • 论文学习—VAE
  • 皮肤伤口分割数据集labelme格式248张5类别
  • 修改uniapp下拉刷新圆圈颜色
  • Unity UI SafeArea适配
  • vue-element-admin npm install 安装失败,tui-editor更名导致
  • API接口性能优化:提升电商数据处理速度的关键
  • 错误处理中间件 VS 异常过滤器 net Core
  • 深入解析ENAS中的共享权重机制
  • pyparsing restOfLine