本文最后更新于 2025年10月21日。
nmap下载
https://nmap.org/download.html#windows
要扫描局域网内的端口,可以使用一些专业的工具和方法。以下是一些常用的方法和工具:
使用 Nmap
Nmap 是功能强大的网络扫描工具,支持端口扫描、服务识别等。
步骤:
-
安装 Nmap
- Windows:访问 Nmap 下载页面,下载并安装。
- Linux:通过包管理器安装,例如在 Ubuntu/Debian 上执行:
sudo apt-get update sudo apt-get install nmap
- macOS:通过 Homebrew 安装:
brew install nmap
-
扫描局域网中的设备和端口
- 查找局域网内所有活动的设备:
sudo nmap -sn 192.168.1.0/24
将
192.168.1.0/24
替换为你的局域网网段,例如192.168.0.0/24
。 – 扫描某个设备的常见端口:nmap 192.168.1.1
- 扫描指定设备的所有端口:
nmap -p- 192.168.1.1
- 扫描特定端口(如 80, 443, 22):
nmap -p 80,443,22 192.168.1.1
- 检测服务版本:
nmap -sV 192.168.1.1
- 查找局域网内所有活动的设备:
使用 Advanced IP Scanner(Windows/macOS)
Advanced IP Scanner 是图形化工具,适合新手。
步骤:
- 下载并安装软件。
- 打开后点击 “Scan” 按钮,自动扫描局域网内设备。
- 右侧显示开放端口(如 80、22)。
- 右键设备可访问共享文件夹、远程关机等。
使用 Masscan(高速扫描)
Masscan 适合大网络范围的高速扫描。
步骤:
-
安装 Masscan
- Linux/macOS:通过源码编译:
git clone https://github.com/robertdavidgraham/masscan cd masscan make sudo make install
- Linux/macOS:通过源码编译:
-
扫描局域网端口
- 扫描整个局域网:
sudo masscan -p1-65535 192.168.1.0/24 --rate=1000
--rate
设置发包速度,根据网络调整。
- 扫描整个局域网:
使用 Python 脚本(适合开发)
通过 Python 的 socket
模块简单扫描指定 IP 和端口。
import socket
def scan_port(ip, port):
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(1) # 超时1秒
result = sock.connect_ex((ip, port))
if result == 0:
print(f"Port {port} is open on {ip}")
sock.close()
except Exception as e:
print(f"Error: {e}")
# 扫描目标IP的端口范围(如 192.168.1.1 的 1-1000)
target_ip = "192.168.1.1"
for port in range(1, 1001):
scan_port(target_ip, port)
注意事项
- 合法性:仅扫描你有权限的设备,未经授权的扫描可能违法。
- 性能影响:大范围扫描会影响网络性能,建议避开高峰时段。
- 安全问题:某些设备或安全软件(如防火墙)可能会记录扫描行为。
- 结果解读: –
open
:端口开放,有服务运行。closed
:端口关闭。filtered
:可能被防火墙过滤。
常见问题
- 如何确定局域网网段?
- Windows:
ipconfig
查看 “IPv4 Address”,通常类似192.168.x.x
。 - Linux/macOS:
ifconfig
或ip a
查看本地 IP。2. 扫描速度慢? - 调整并发数,例如 Nmap 使用
-T4
:nmap -T4 192.168.1.1
- Windows:
推荐新手从 Nmap 或 Advanced IP Scanner 开始,复杂需求可以选择 Masscan 或自定义脚本。[^1][^2]
[^1]: Nmap 官方文档:https://nmap.org/docs.html [^2]: Advanced IP Scanner:https://www.advanced-ip-scanner.com/