ping探测与Nmap扫描

一、实验目的

  1. 学习信息收集的一般步骤
  2. 学会使用ping命令
  3. 利用Nmap工具进行信息搜集

二、实验环境

  1. 系统环境:一台windows7系统、一台XP系统、一台kali系统
  2. 软件环境:安装Wireshark软件、Nmap软件、TCP Connect程序、TCPSYN程序

三、实验原理

  • 搜集目标信息一般采用七个基本的步骤:
  1. 找到初始信息,比如一个IP地址或者一个域名
  2. 找到网络地址范围,或者子网掩码
  3. 找到活动机器
  4. 找到开放端口和入口点
  5. 弄清楚操作系统
  6. 弄清楚每个端口运行的是那种服务
  7. 画出网络拓扑图

四、实验步骤

1. 用Wireshark抓到ICMP中的分片报文
在XP系统中ping window7系统命令:>ping 192.168.220.129 -l 65330

在Windows7系统中抓包分析ICMP包发现数据包进行了分片操作

2. 熟练Nmap的使用
在window7中使用Nmap扫描XP系统命令如下:>Nmap -T4 -A -v 192.168.220.130综合扫描并显示过程

Nmap也可用cmd直接执行命令进行扫描

  • Nmap常用命令如下:
1. nmap -sT 192.168.96.4 TCP连接扫描,不安全,慢
2. nmap -sS 192.168.96.4 SYN扫描,使用最频繁,安全,快
3. nmap -Pn 192.168.96.4 目标机禁用ping,绕过ping扫描
4. nmap -sU 192.168.96.4 UDP扫描,慢,可得到有价值的服务器程序
5. nmap -sI 僵尸ip 目标ip 使用僵尸机对目标机发送数据包
6. nmap -sA 192.168.96.4 检测哪些端口被屏蔽
7. nmap 192.168.96.4 -p 对指定端口扫描
8. nmap 192.168.96.1/24 对整个网段的主机进行扫描
9. nmap 192.168.96.4 -oX myscan.xml 对扫描结果另存在myscan.xml
10. nmap -T1~6 192.168.96.4 设置扫描速度,一般T4足够
11. nmap -sV 192.168.96.4 对端口上的服务程序版本进行扫描
12. nmap -O 192.168.96.4 对目标主机的操作系统进行扫描
13. nmap -sC 192.168.96.4 使用脚本进行扫描,耗时长
14. nmap -A 192.168.96.4 强力扫描,耗时长
15. nmap -6 ipv6地址 对ipv6地址的主机进行扫描
16. nmap -f 192.168.96.4 使用小数据包发送,避免被识别出
17. nmap –mtu 192.168.96.4 发送的包大小,最大传输单元必须是8的整数
18. nmap -D <假ip> 192.168.96.4 发送参杂着假ip的数据包检测
19. nmap –source-port 针对防火墙只允许的源端口
20. nmap –data-length: 192.168.96.4 改变发生数据包的默认的长度,避免被识别出来是nmap发送的
21. nmap -v 192.168.96.4 显示冗余信息(扫描细节)
22. nmap -sn 192.168.96.4 对目标进行ping检测,不进行端口扫描(会发送四种报文确定目标是否存活)
23. nmap -sP 192.168.96.4 仅仅对目标进行ping检测
24. nmap -n/-p 192.168.96.4 -n表示不进行dns解析,-p表示要
25. nmap –system-dns 192.168.96.4 扫描指定系统的dns服务器
26. nmap –traceroute 192.168.96.4 追踪每个路由节点
27. nmap -PE/PP/PM 使用ICMP echo, timestamp, and netmask 请求包发现主机
28. nmap -sP 192.168.96.4 主机存活性扫描,arp直连方式
29. nmap -iR [number] 对随机生成number个地址进行扫描
  • Nmap扫描192.168.220.130的信息:端口、协议、状态、服务、版本

  • Nmap扫描的网络拓扑图

  • Nmap扫描的主机明细信息

3. 运行Windows7虚拟机中TCP Connect程序,并用Wireshark抓取开放端口和关闭端口的数据包,使用cmd打开TCP Connect程序使用命令进行探测192.168.220.130端口的开放情况

打开TCPConnect.exe程序>

在cmd中执行TCPConnect.exe 192.168.220.130 130 150命令

  • 结论:从TCPConnect.exe 192.168.220.130 130 150执行的命令来看192.168.220.130开放了135、139两个端口

在Wireshark中抓包使用ip.addr == 192.169.220.129 and ip.addr == 192.168.220.130 分析获取的报文

  • 结论:从Wireshark分析发现135端口建立了三次握手和四次挥手说明192.168.220.130的135端口是开放的

4. 运行XP虚拟机中TCPSYN程序,并用Wireshark抓取开放端口和关闭端口的数据包
在XP系统打开TCPSYN.exe程序>

在cmd中执行TCPSYN.exe 192.168.220.129 20 60命令

  • 结论:从TCYSYN.exe 192.168.220.129 20 60执行的命令来看192.168.220.129开放了21端口

在Wireshark中抓包使用ip.addr == 192.169.220.129 and ip.addr == 192.168.220.130 分析获取的报文

  • 结论:从Wireshark分析发现21端口采用了SYN半连接并返回[SYN,ACK]说明192.168.220.129的21端口是开放的

5. 比较上面第3项和第4项的运行时间和运行结果

  • 结论:运行时间:TCPConnect.exe和TCYSYN.exe相比TCPConnect.exe采用全连接TCYSYN.exe采用半连接,TCYSYN.exe运行速度和时间明显比TCPConnect.exe快很多。
    运行结果:TCPConnect.exe和TCYSYN.exe端口开放的结果是一样,但是在Wireshark报文中TCPConnect.exe在端口开放的情况下并建立了三次握手和四次挥手,TCYSYN.exe在端口开放的情况下报文中只有第二次返回的【SYN,ACK】报文,说明TCYSYN.exe采用了半连接。