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)环境中。这两个地址的主要区别在于它们的网络部分和主机部分:
网络部分(Network Part):
192.168.43.132的网络部分是192.168.43,而192.168.1.13的网络部分是192.168.1。
这意味着这两个地址属于不同的网络。在没有路由器或网络地址转换(NAT)设备的情况下,这两个网络之间的设备不能直接通信。
主机部分(Host Part):
192.168.43.132的主机部分是.132,而192.168.1.13的主机部分是.13。
这表示即使在各自的网络内部,这两个地址也指向不同的设备。
子网掩码:
如果没有特别说明,这两个地址都可能使用默认的C类子网掩码255.255.255.0。
这个子网掩码意味着前24位(即前三个点分十进制数)是网络部分,最后一个八位(即最后一个点分十进制数)是主机部分。
通信:
如果这两个地址位于同一个局域网内,并且路由器或交换机配置正确,它们可以通过网络设备进行通信。
如果它们位于不同的局域网内,那么它们不能直接通信,除非有路由器或其他网络设备将这两个网络连接起来。
用途:
这两个地址通常用于家庭或小型企业的内部网络,不用于互联网上的全球路由。