Linux有nmap命令可以实现UDP端口探测的问题,Java代码无法实现。此脚本基于nmap命令,nmap安装教程在本站:https://www.zanglikun.com/15137.html

#!/bin/bash

host=$1
port=$2

#nmap端口扫描命令示例
# nmap -sU www.baidu.com -p 54880-54889
# nmap -sU www.baidu.com -p 54230

result=$(nmap -sU $host -p $port | grep -w "open" | awk '{print $2}')

if [ "$result" == "open|filtered" ]; then
  echo "1"
else
  echo "0"
fi

返回1代表正常,0代表端口关闭。

脚本使用方式

比如:脚本文件名叫udpKeepAlive.sh

【参数示例】
sh ./udpKeepAlive.sh [HOST] [PORT]

【运行示例】
sh ./udpKeepAlive.sh www.baidu.com 80

本脚本尚未支持多端口扫描,我是基于单个(动态:给予脚本入参实现)探索UDP端口的是否开放的。使用Java处理脚本返回多个脚本sh、cmd、bat等内容不是很方便处理。如果只是一个端口的信息正常返回,且返回1、0就能很轻松处理脚本执行结果,这才是我的初衷!

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤