寻找下一个开放端口

2024-05-07

有没有什么办法,使用基本的 Unix 命令,找到下一个未使用的端口号,从端口 4444 开始向上?我通过 ssh(通过 openssh)进入 Windows XP 计算机,运行 Cygwin 工具并使用 bash shell。

谢谢,-戴夫


尝试这个:

for port in $(seq 4444 65000); do echo -ne "\035" | telnet 127.0.0.1 $port > /dev/null 2>&1; [ $? -eq 1 ] && echo "unused $port" && break; done

where

seq 4444 65000 - port range for check
echo -ne "\035" - escape character to force close telnet session (^])

如果 telnet 以退出代码 1 结束,则表示连接被拒绝:

$ telnet 127.0.0.1 4444
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
$ echo $?
1

否则我们判定连接成功,退出代码为 0。

EDIT:cygwin专用:需要安装额外的包inetutils即包含 telnet 端口并使用脚本如下:

for port in $(seq 4444 65000); do echo -ne "\035" | /usr/bin/telnet 127.0.0.1 $port > /dev/null 2>&1; [ $? -eq 1 ] && echo "unused $port" && break; done
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

寻找下一个开放端口 的相关文章

  • 卷曲:参数列表太长

    我想通过 Sparkpost API 使用curl post 发送一封附有pdf 文件的电子邮件 插入我使用的 pdf 我的 test pdf 约为 200KB data cat test pdf base64 wrap 0 但不知怎的 这
  • 如何在 C# 中启动文件

    编辑 我觉得自己像个白痴 我有一种感觉 像下面的答案会起作用 但没有看到任何与下面的答案类似的谷歌结果 所以当我看到这段复杂的代码时 我想它一定是这样的 我搜索并找到了这个Windows 列出并启动与扩展关联的应用程序 https stac
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 如何从 mysqldump 中删除表

    如何删除 mysqldump 中包含大量表的一个大表的输出 我有一个 6 GB 大的数据库转储 但其中 90 只是一个日志记录表 cache entries 我的备份中不再需要它 如何轻松删除转储中描述大型日志记录表的部分 我找到了这个 h
  • GnuTLS 错误 -110:TLS 连接未正确终止

    我发现我的一个 Windows 服务没有连接到 Unix 服务器上的 FTP 位置 我在我的 PC 上运行了可执行文件 因为开发人员没有记录任何错误 并且我在尝试从 FTPWebRequest 获取响应时遇到超时错误C 中的对象 尝试使用
  • 带有存储在文件中的通配符的 grep

    我希望 grep 通过读取需要从文本文件中过滤掉的内容来过滤掉行 这是我给 grep 的内容 它存储在foo txt Users 1337 X Users 1337 R Users 1337 W 这是它应该过滤的内容 它存储在bar txt
  • 无需 root 访问权限即可安装 zsh? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有可能 以及如何 我确实需要在几台具有 ssh 访问权限 但没有 root 访问权限 的远程计算机上使用此功能 下载 zsh wget O zsh t
  • sh read 命令会吃掉输入中的反斜杠吗?

    也许最容易用一个例子来解释 echo echo while read in do echo in done 看来read命令将输入 中的反斜杠解释为转义符并删除它们 我需要逐行处理文件而不更改其内容 并且我不知道如何停止在这里智能读取 有任
  • 如何在 sed 中用“pwd”的结果替换令牌?

    我正在尝试做这样的事情 sed s REPLACE WITH PATH pwd 不幸的是 我出错了 sed e expression 1 char 23 unknown option to s 为什么会发生这种情况 您需要使用不同的字符而不
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • shell解析json并循环输出组合变量

    杰斯克喜欢我之前的话题 https stackoverflow com questions 74063588 shell parsing json contains spaces in string 我知道如何解析带有空格的简单 json
  • 如何使用 bash 中提供的工具生成一系列非周末日期?

    我想生成一个文件列表 其中名称包含 filename date 例如file 20111101 file 20120703 开始November 1 2011直到今天 应该不包括周末 Thanks 2011年试试这个 for y in 20
  • 使用 grep 查找所有匹配的模式

    In txt1 S01A1P2 S01A1P5 S01A1P4 In txt2 data train wave S01A1P3 mfc data train wave S01A1P7 mfc data train wave S01A1P8
  • PHP exec rm -Rf 不适用于子目录

    我试图删除特定文件夹中的所有内容 但它似乎不会影响子文件夹 但它应该 因为 bash 命令是从控制台执行的 system rm Rf some dir 该命令中不需要星号 如果要与文件一起删除目录 请同时删除斜杠 留下斜杠将删除文件 但保留
  • Docker exec linux 终端创建别名

    我有一个正在运行且独立的容器 我想在附加到该容器之前创建一个命令别名 当我连接到容器并输入 alias bar foo 创建别名 并可以通过以下方式检查 alias command 但如果我想做同样的事情码头执行者命令即这样 docker
  • wget 并行下载文件并重命名

    我有一个包含两列的文本文件 第一列是要保存的名称 第二列是资源的 url 地址 10000899567110806314 jpg http lifestyle inquirer net files 2018 07 t0724cheekee
  • 作曲家和 Cygwin

    如果您尝试 全局 安装 Composer 则 Composer 无法在 Cygwin 中正确运行 将composer phar放入 usr local bin composer 然后尝试运行它会导致错误 Could not open inp
  • 为什么我不能在 cygwin 中使用 $SVN_EDITOR 环境变量?

    我一定是错过了一些愚蠢的事情 当我使用 m 选项时它工作正常 echo SVN EDITOR emacs svn commit test py svn Commit failed details to follow svn Could no
  • 找不到 cygwin setup.exe 文件?

    我正在尝试将 subversion 数据包添加到 cygwin 为此我需要运行 setup exe 但我在 cygwin 文件夹中找不到它 它会位于哪里 它不是incygwin 文件夹 它位于您上次安装时放置的位置 很可能是垃圾箱或临时目录
  • BASH 中的空函数

    我正在使用 FPM 工具创建 deb 包 此工具在从支持的文件中删除包之前 之后创建 不幸的是FPM生成的bash脚本包含这样的函数 dummy 该脚本退出时出现错误 语法错误 意外 BASH 不允许空函数吗 哪个版本的 bash linu

随机推荐

  • 在 Tensorflow 2.0 中的 tf.function input_signature 中使用字典

    我正在使用 Tensorflow 2 0 并面临以下情况 tf function def my fn items do stuff return 如果 items 是张量的字典 例如 item1 tf zeros 1 1 item2 tf
  • openNLP 与 Solr 集成时出现异常

    我正在尝试将 openNLP 与 Solr 6 1 0 集成 我配置了架构和 solrconfig 文件 详细信息请参见 wiki 链接 https wiki apache org solr OpenNLP https wiki apach
  • 选择性罐包装

    我有一个小program jar 它使用了巨大的library jar 的一小部分 有没有一种工具可以将多个 jar 重新打包成一个 以便它可以独立运行并且尽可能小 Update 大小事项 有proguard http proguard s
  • 复制具有所有关系的 Doctrine 对象

    我想复印一份他所有亲戚的记录 我正在尝试 o Doctrine getTable Table gt Find x copy object gt copy relations o gt getRelations foreach relatio
  • Kubernetes - 服务之间的通信

    我目前正在开发 kubernetes 集群 集群工作正常 我需要在不使用代理的情况下建立服务之间的通信 例如我有以下服务 worker app1 app2 app3 Worker 需要直接通过 SSH 登录应用程序容器并执行一些命令 在 d
  • 我知道 scipy curve_fit 可以做得更好

    我使用 python numpy scipy 来实现此算法 用于根据地形坡向和坡度对齐两个数字高程模型 DEM 用于量化冰川厚度变化的卫星高程数据集的联合配准和偏差校正 C Nuth 和 A K b doi 10 5194 tc 5 271
  • 通过交叉引用过滤库存

    我想通过交叉引用以及其他属性来自定义库存过滤 我为这样的库存项目添加了另外两个交叉引用项目 现在我想通过替代类型的替代 Id 值以任何其他形式自定义库存过滤器 谢谢你 没有简单的方法可以在不进行自定义的情况下在库存商品的备用 ID 上添加搜
  • 使用 NumPy 数组执行分组平均值和标准差

    我有一组数据 X Y 我的自变量值 X 不是唯一的 因此有多个重复值 我想输出一个新数组 其中包含 X unique 它是 X 的唯一值的列表 Y mean 与 X unique 对应的所有 Y 值的平均值 Y std X unique对应
  • 在 Angular 4 Reactive Forms 中提交时显示验证消息

    我正在使用 Angular 4 反应式表单 我想在用户单击 提交 创建帐户 按钮时显示验证错误消息 这是我正在使用的 HTML 和打字稿代码
  • 不同应用的 Admob 广告单元 ID 相同吗?

    Context 我们正在努力整合admob在我们的应用程序中 我们有 25 个应用程序 主要是动态壁纸 当我们在里面创建广告单元ID时admob 我们提供应用程序名称作为 Playstore 中我们自己的应用程序包名称之一 我们有两个活动
  • TFS 2012 .gitignore .hgignore 等效项

    在TFS 2012中 有一种新的本地工作模式 本地工作区 这是个好消息 没有 签出 文件 使用 VS 以外的程序中的文件时 不会再出现只读文件和问题 不再有 获取最新 实际上并未获取最新的情况 但这也意味着我需要一种方法来告诉 TFS 在监
  • 类型错误:无法读取未定义的属性“getters”

    我正在尝试测试一个引用 Vuex 商店的基本 Vue 组件 我以为我遵循了 Vue 的例子 https vue test utils vuejs org guides using with vuex html mocking getters
  • 代码::块 - 警告:GDB:无法设置控制终端:不允许操作

    我已经通过官方存储库在 Ubuntu 14 04 中安装了 Code Blocks 13 12 当我编译时 一切正常 但是当我调试时 shell 中会显示以下消息 警告 GDB 无法设置控制终端 操作不正确 允许的 程序执行到断点 但当我执
  • 在c中生成直方图

    我一直坚持在 C 中创建这个直方图 问题是任务是计算每个用户输入发生的频率 对于 1 0 6 1 5 0 7 9 0 7 gt 有 3x 0 2x 1 等 然后 必须将出现次数转换为星号 而不是出现次数 我想我已经完成了第一步和第三步 但我
  • 检测 UITextField 的焦点变化

    我正在尝试设置当键盘隐藏并出现在文本字段中时视图向上移动的动画 并且它工作得很好 但是当焦点从一个文本字段移动到另一个文本字段时 它不起作用因为键盘已经显示了 在 viewDidLoad 中 我注册了以下内容 NSNotificationC
  • Electron Autoupdater 与私有 GitHub 存储库?

    我已经使用 PRIVATE GitHub Repository 作为发布电子应用程序的提供者实现了 Electron AutoUpdater 现在 我可以使用 GitHub 存储库发布它 但是每当 AutoUpdater 尝试从 GitHu
  • HTML5 Canvas 避免任何子像素渲染

    As seen here https stackoverflow com questions 7017998 html 5 canvas avoid fill behaviour on overlap我在画布中的亚像素精度方面遇到了一些问题
  • git-http-backend 与 AuthzUnixGroup 无法正常工作

    我正在尝试在 CentOS 6 机器上的 Apache 2 2 上设置一个 git 存储库 并安装了 git 我尝试过许多不同的方向 但我却不知所措 我目前的情况包括能够clone正常 但完全无法推动 似乎我无法使身份验证位正常工作 因为我
  • SQL状态[99999];错误代码[17004];无效的列类型:1111 使用 Spring SimpleJdbcCall

    大家好 我正在使用 spring 简单的 JDBC 模板来调用 oracle 过程 下面是我的代码 步骤 create or replace PROCEDURE get all system users pi client code IN
  • 寻找下一个开放端口

    有没有什么办法 使用基本的 Unix 命令 找到下一个未使用的端口号 从端口 4444 开始向上 我通过 ssh 通过 openssh 进入 Windows XP 计算机 运行 Cygwin 工具并使用 bash shell 谢谢 戴夫 尝