kali端口扫描命令
周末晚上,端口我盯着屏幕上那台测试靶机,扫描脑子里只有一个念头——这机器到底开了哪些端口?命令
Nmap甩出一条命令,三秒钟后答案就摆在眼前。端口这就是扫描Kali里最常用的活儿,端口扫描,命令说白了就是端口敲门问路,看哪扇门虚掩着。扫描
先别急着上工具。命令你得清楚自己扫描的端口目标是谁,是扫描自家内网IP还是公网主机。拿个例子,命令假设目标IP是端口192.168.1.105,最基本的扫描TCP连接扫描长这样:nmap -sT 192.168.1.105
这条命令会尝试和目标每个端口完成三次握手。如果端口开着,命令握手成功,返回open;关着就返回closed。简单粗暴,但慢,而且容易在防火墙日志里留下痕迹。
要快,上SYN半开扫描。nmap -sS 192.168.1.105
它只发SYN包,不完成完整握手。端口开着会回SYN-ACK,关着回RST。速度快一倍,日志少一半。Kali默认不加参数也是这个,因为大多数场景下够用且相对隐蔽。我习惯加个-T4提速,别用T5,那太激进,丢包率飙升反而更慢。
端口范围也是个讲究。默认扫1000个常用端口,但真实攻击面往往藏在高端口。比如某次内网测试,目标开着8080管理后台,默认扫描根本看不见。显式指定范围:nmap -p 1-65535 192.168.1.105
全端口扫一遍,时间翻倍,但收获可能更大。想偷懒就扫常见的高危端口列表:-p 21,22,23,25,80,443,3306,3389,8080。
光知道端口开没开还不够。你总想知道后面跑着什么服务。版本探测参数-sV:nmap -sV -p 22 192.168.1.105
它会主动连接服务,抓取banner信息。比如返回OpenSSH 7.9,你就知道这机器Ubuntu 18.04或者Debian 10,后续漏洞利用方向就清楚了。版本探测比纯端口扫描慢,但信息密度高得多。
还有个场景——UDP端口。TCP扫描做惯了容易忽略UDP。DNS、SNMP、DHCP都走UDP,这些服务一旦暴露,往往直接给你惊喜。扫描UDP用-sU:nmap -sU -p 53,161 192.168.1.105
UDP扫描不可靠,因为无连接协议,端口关着不一定回ICMP不可达。所以结果经常是open|filtered,看着让人抓狂。我一般配合--version-intensity 9强行探测,多花点时间换准确性。
实际渗透里,我很少只用一条命令。组合拳才是常态。比如:nmap -sS -sV -O -p 1-65535 192.168.1.105
SYN扫描加版本探测加操作系统指纹。这一条跑完,目标画像基本清晰。代价是时间成倍增加,但信息收集阶段值得花这个时间。
说个反直觉的事。有时候你不需要扫全端口。内网横向移动时,目标机器可能是台打印机或摄像头,它们只开80和9100端口。扫全端口是浪费流量和时间。先做快速侦察:nmap -F 192.168.1.0/24
快速扫整个网段的100个常见端口,花不了两分钟。看到哪台机器响应活跃,再针对它做深度扫描。这种从粗到细的思路,比盲目全端口扫描高效得多。
最后提醒一句,Kali的端口扫描工具不止Nmap,Masscan也很快,但Nmap的灵活性和脚本引擎是无可替代的。扫描时记得加-Pn跳过主机发现,很多防火墙会屏蔽ICMP,不加这个参数可能误判主机离线。还有,输出格式用-oA result保存成三种格式,方便后续分析,别只盯着屏幕看。
端口扫描只是第一步,但这一步走得稳,后面渗透就顺。别贪快,别盲扫,搞清楚目标再动手。
