发现局域网中存活主机
主机发现
一个局域网中肯定是连接多台设备,那么我们如何确定哪些设备正在开机状态呢?
方案一:
使用 ping 命令进行循环探测, 效率比较低:
通过ICMP循环对整个网段中的每个IP地址执行ping 命令,所有能够ping 通的IP地址即为内网中存活的主机。
首先需要知道自己所在的网段
我所在的网段是 192.168.1.0
执行以下命令:
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I| findstr "TTL="
命令参数解析:
for /L %I in (sequence) do command,for遍历
192.168.1.%I,代表你要ping的网段:192.168.1.0网段
(1,1,254),第一个1和最后一个254,代表从1-254,中间那个1,代表,每次ping,递增1
-n 1,代表发送的回显请求数
-w 60,代表等待回复每次ping超时时间(毫秒)
扫描过程比较慢,因为它要想 254 台设备发送icmp请求并等待响应
![](https://img2023.cnblogs.com/blog/2935791/202302/2935791-20230228211132066-161196347.png)
方案二:
使用Nmap命令: nmap -sP 网段
对该网络中的所有主机进行ping扫描,以探测主机的存活性,扫描过程中使用了 TCP SYN扫描,ICMP echo Request来探测主机存活
nmap -sP 192.168.1.0/24
很快就会出结果
![](https://img2023.cnblogs.com/blog/2935791/202302/2935791-20230228211053254-48284466.png)
nmap -sn 192.168.1.0/24
![](https://img2023.cnblogs.com/blog/2935791/202302/2935791-20230228211414653-1051022845.png)
扫描结果保存
使用命令: nmap -sn 网段 -oX test.xml
进行扫描后,将结果输出到test.xml文件中,方便后续使用
你只管出发,旅途自有风景~~