Nmap
From ksplice’s blog. After being acquired by Oracle, this article is lost on their new blog at Oracle. This is the archive I found.
扫描 TCP 端口 22, 80:
nmap -sS -p22,80 192.168.1.0/24
-sS
表示扫描 TCP 端口,-sU
表示 UDP 端口-p
端口范围可以用-p1-500
的形式制定范围,-p-
表示所有端口。
nmap 会先发送 ICMP echo 来判断目标是否存在。对于 TCP 端口扫描,nmap 再发送
SYN
包,等待 SYN/ACK
回复。
可以用 nmap 发送不合法的包:
-sN
null scan-sX
Xmas scan--mut
chop packets into little fragments--badsum
send invalid checksum
不合法的包可以用来判断 OS 类型,下面的命令可以探测 OS 类型::
nmap -sS -O 192.168.1.0/24
检查到端口打开后还可以更进一步:
-sV
检查服务器软件版本 (version detection subsystem)
其他:
--source-port
指定 nmap 发出的 TCP/UDP 包的端口-S
TCP idle scan (高级玩意)- nmap 支持 XML 等输出格式
- nmap 还有用 Lua 写的插件