nmap扫描分配给IP的每个接口
Hujiuxiang
・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
的预期结果,可以用一个更长的正规表达式表达式来纠正这个问题,但是,在这个例子中是不必要的。