- 快速扫描整个子网可使用 sudo nmap -sn 192.168.1.0/24,用于发现活跃主机;若防火墙屏蔽icmp请求,可加 -pe 参数提高准确性。2. 扫描单台设备开放端口用 sudo nmap 192.168.1.100,默认扫描1000个常见端口,或加 -p- 扫描全部端口,并可用 -su 扫描udp端口。3. 探测操作系统与服务版本可使用 -o 和 -sv 参数,帮助识别设备类型。4. 绕过防火墙干扰可尝试 -ss syn扫描、-t4 加快速度、-f 分片发送包,但需注意权限与合规性问题。
linux系统下扫描本地网络是排查设备、检测开放端口或了解网络状态的常见需求。nmap作为一款功能强大的网络发现和安全审计工具,几乎是这类任务的标准选择。
1. 快速扫描整个子网
大多数情况下,你可能想快速查看当前局域网中有哪些活跃的主机。假设你的本地IP地址是192.168.1.x,那么你可以使用如下命令:
sudo nmap -sn 192.168.1.0/24
- -sn 表示不进行端口扫描,只做Ping扫描。
- 192.168.1.0/24 指的是整个C类子网,从192.168.1.1到192.168.1.254。
这个操作可以帮你识别哪些IP被占用,适用于检查是否有未知设备接入。
常见问题:
- 如果防火墙屏蔽了ICMP请求(也就是ping),可能会漏掉一些在线主机。
- 可以尝试加 -PE 参数强制使用ICMP echo探测,提高准确性。
2. 扫描单台设备的开放端口
当你已经知道某个目标IP,比如192.168.1.100,并想看看它开了哪些端口,可以执行:
sudo nmap 192.168.1.100
默认情况下,nmap会扫描最常见的1000个端口。如果你希望更全面一点,可以用 -p- 参数扫描全部65535个端口:
sudo nmap -p- 192.168.1.100
- 结果中会列出端口号、协议(TCP/UDP)、状态(open/closed)以及对应的服务名称。
- 如果看到像22/tcp open ssh这样的输出,说明这台机器运行着SSH服务。
提示:
- 使用 -sU 可以扫描UDP端口(默认只扫描TCP)。
- 加上 -v 参数可以开启详细模式,实时看到扫描进度。
3. 探测操作系统与服务版本
有时你还想知道目标的操作系统类型或者运行的具体服务版本,可以加上 -O 和 -sV 参数:
sudo nmap -O -sV 192.168.1.100
- -O 尝试识别操作系统。
- -sV 探测开放端口对应的服务版本信息。
例如你可能会看到类似下面的输出:
这对于判断设备类型(比如路由器、摄像头、服务器)非常有帮助。
4. 避免被防火墙干扰的小技巧
有些设备会设置防火墙规则,阻止常规扫描。这时候你可以尝试一些“绕过”方式:
- 使用 -sS 发起SYN扫描,比默认的连接扫描更隐蔽。
- 添加 -T4 提高扫描速度(注意:太快可能触发警报)。
- 如果遇到过滤端口较多的情况,可以用 -f 分片发送包,减少被识别的可能性。
当然,这些操作在某些环境中可能需要权限支持,也可能涉及合规性问题,使用时请注意。
基本上就这些。掌握这几个基础命令,应对日常网络扫描任务应该够用了。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END