端口扫描和主机发现
扫描C段存存活主机
nmap -sn 172.16.200.0/24
设置扫描最低时间为10000,确保扫描端口的准确性,用于扫描指定ip的所有端口
一般端口扫描要进行两次,如果两次扫描都一样,说明就是这个结果。
nmap --min-rate 10000 -p- 172.16.200.131
强制使用UDP的方式进行扫描,确保没有落下UDP的端口
nmap -sU --min-rate 10000 -p- 172.16.200.131
根据扫描出的tcp和udp端口,使用tcp方式检测其中的版本信息,操作系统信息
nmap -sT -sV -O -p80,111,777,52497,5353,40444 172.16.200.131
nmap可以基于内置的脚本,扫描这些端口是否有漏洞。
nmap --script=vuln -p80,111,777,52497,5353,40444 172.16.200.131在没有nmap场景下,实现主机扫描和端口扫描
如果没有nmap,可以使用这种方式扫描存活主机,-W用于设置ping的超时时长。
但是这种扫描无法直接使用ctrl+c关闭,需要使用crtl+z放到后台,并kill -9 %1清除最新执行一条命令进程。
for i in {1..254};do ping -c 1 -W 1 172.16.200.$i;done
筛选出扫描出的存活主机,过滤掉不存活主机
for i in {1..254};do ping -c 1 -W 1 172.16.200.$i |grep from;done
使用nc扫描端口,-vv显示详细信息,-z发送0数据。
nc.traditional -vv -z 172.16.200.131 1-65535
由于扫描端口信息过多,需要过滤出开放端口的,所以要过滤端口关闭的信息,grep -v过滤掉不要的信息。
nc.traditional -vv -z 172.16.200.131 1-65535 2>&1 |grep -v refused
使用伪主机的方式探测端口
bash //首先切换到bash环境会更稳定
将扫描172.16.200.131的端口,如果扫描出来则打印出来端口信息,若扫描不出的端口则打印.
&>/dev/null是指把标准输出和标准错误输出都重定向到/dev/null,其中标准输出重定向后仍然会执行&&后续的命令,而标准错误重定向就不会执行后续&&的命令。
for i in {1..65535};do (echo < /dev/tcp/172.16.200.131/$i) &>/dev/null && printf "\n[+]The Open Port is:%d\n" "$i" ||printf ".";doneLast updated