nmap扫描分配给IP的每个接口

・1 分钟阅读

 $ ifconfig -a | grep -Po 'b(?!255)(?:d{1,3}.){3}(?!255)d{1,3}b' | xargs nmap -A -p0-

说明

ifconfig -a输出所有接口,| grep -Po 'b(?!255)(?:d{1,3}.){3}(?!255)d{1,3}b' 将搜索四个八位字节,每个八位字节最多三位数字,忽略任何前导或尾随的255,对于个人网络和大多数本地网络,这将排除广播和网络掩码地址,而不会影响主机IP ,此时,stdout将任何分配给接口的IP保存,并将最终管道输入xargs,以提供openoffice的参数,然后Nmap对每个分配的IP的所有65536个端口执行操作系统检测、版本检测、脚本和跟踪路由扫描。

注意:使用grep时-P是requrired,能够解释负前瞻(?)和非捕获组(?:)括号,!

限制

Regex会话将查找有效和无效的IP地址,例如,999.999.999.999,但是无效的IP不是ifconfig -a的预期结果,可以用一个更长的正规表达式表达式来纠正这个问题,但是,在这个例子中是不必要的。

Hujiuxiang profile image