Nmap学习2 - 实验
实验
- 客户端 window11 物理机 192.168.31.1,安装 nmap 扫描软件 、wireshark 网络协议分析器软件 、winscp 文件传输软件。
- 服务端 Centos 7 虚拟机 192.168.31.138,安装 tcpdump 抓包软件和关闭防火墙
实验1- nmap 不带参数
实验步骤
服务器端关闭防火墙
# iptables -F
服务器端开始抓包,ens33是网络端口,nmap.cap是抓包生成的文件。
# tcpdump -i ens33 -w nmap.cap 回车
客户端执行:
>nmap 192.168.31.138
Starting Nmap 7.91 ( https://nmap.org ) at 2022-01-18 20:55 ?D1ú±ê×?ê±??
Nmap scan report for 192.168.31.138 (192.168.31.138)
Host is up (0.0010s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
111/tcp open rpcbind
3306/tcp open mysql
MAC Address: 00:0C:29:83:79:73 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 1.04 seconds
服务器端输入 ctrl+c,终止抓包。
# tcpdump -i ens33 -w nmap.cap
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
^C2022 packets captured
2022 packets received by filter
0 packets dropped by kernel
查看网络报文
使用winscp,将Centos 上的抓包文件nmap.cap下载到客户端,使用 wireshare 打开nmap.cap文件。
wireshare界面,点击【统计】->【IPv4 statistics】->【Destinations and Ports】
由于抓包时未指定客户端的ip地址,所以将服务器网络端口所有网络包都抓取。
192.168.31.138 发送1001个包,192.168.31.1发送1012个包。
从抓包统计结果看,nmap 不带参数运行的结果跟 -Pn 参数时一样,跳过主机发现步骤,对常见的 1000 个tcp端口做扫描。
服务端未开放端口报文查看
我们在wireshark的过滤框中输入 tcp.port == 80 回车 ,查找所有端口为80的tcp包。
No 53. 客户端 192.168.31.1 向 服务端 192.168.31.138 80 端口发起TCP SYN 第一次握手,请求建立连接。
No 54. 服务端 192.168.31.138 80 端口并未提供服务,所以向 客户端 192.168.31.1 发送TCP RST重置操作,关闭TCP连接。
服务端开放端口报文查看
在wireshark的过滤框中输入 tcp.port == 3306 回车 ,查找所有端口为3306的tcp包。
No 3. 客户端 192.168.31.1 向 服务端 192.168.31.138 3306 端口发起TCP SYN 第一次握手,请求建立连接。
No 4. 服务端 192.168.31.138 3306 端口提供服务,所以向 客户端 192.168.31.1 发送TCP SYN ACK 第二次握手。
No 2003/2007/2016. 由于 客户端 192.168.31.1 始终未发起 ACK 第三次握手,服务端重发第二次握手消息。
查看nmap结果,TCP 21/22/111/3306端口 服务端均有重发。