当前位置: 首页 > 面试题库 >

有效测试Linux是否打开了端口?

吴西岭
2023-03-14
问题内容

如何通过bash脚本快速确定445服务器上端口是否处于打开/侦听状态。

我已经尝试了几个选项,但我想要的东西快:
1 lsof -i :445 (只需几秒钟)
2. netstat -an |grep 445 |grep LISTEN(只需几秒钟)
3. telnet(不返回)
4 nmapnetcat不可用在服务器上

很高兴知道一种不会先枚举然后在此之后摸索的方式。


问题答案:

我最近发现的一个惊喜是Bash本身支持tcp连接作为文件描述符。使用方法:

exec 6<>/dev/tcp/ip.addr.of.server/445
echo -e "GET / HTTP/1.0\n" >&6
cat <&6

我使用6作为文件描述符,因为0,1,2是stdin,stdout和stderr。Bash有时会将5用作子进程,因此3,4,6,7,8和9应该是安全的。

根据下面的注释,要测试是否在脚本中侦听 本地服务器

exec 6<>/dev/tcp/127.0.0.1/445 || echo "No one is listening!"
exec 6>&- # close output connection
exec 6<&- # close input connection

要确定是否有人在监听,请尝试通过环回连接。如果失败,则说明该端口已关闭或不允许我们访问。然后,关闭连接。

针对您的用例进行修改,例如发送电子邮件,在失败时退出脚本或启动所需的服务。



 类似资料:
  • 问题内容: 有什么方法可以测试特定端口是否已打开并使用PHP正确转发?具体来说,我该如何使用套接字通过给定端口连接到给定用户? 一个示例在WhatsMyIP.org/ports的“自定义端口测试”部分中。 问题答案: 我不确定“正确转发”是什么意思,但希望这个例子能解决这个问题: 输出: 有关 端口号的完整列表,请参见http://www.iana.org/assignments/port- nu

  • 我面临交易错误,例如: org . hibernate . lazyinitializationexception:无法延迟初始化角色集合:app。Parent.children,无法初始化代理-没有会话 这里在。 但我对方法有: 1个事务在上创建工厂并给实体管理器 1个事务在上创建实体 我希望能够测试我的Hibernate会话何时处于活动状态,这样我就可以检查它何时丢失以及丢失的原因。 谢谢!

  • 本文向大家介绍python检测远程端口是否打开的方法,包括了python检测远程端口是否打开的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python判断远程端口是否打开的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 我下面的代码创建一个新数组,并将其发送到chat(jFrame)。 但是我需要修改此代码以使其工作,如果打开了聊天jframe,则不要打开新的jFrame。而是在chat jframe中打开新的选项卡。聊天框的代码是: 问题答案: 我想知道如果该窗口依赖于另一个窗口,那么是否不应该使用JDialogs而不是JFrames。 一种解决方案是使用类字段来保存对窗口(JFrame或JDial

  • 本文向大家介绍python检测远程udp端口是否打开的方法,包括了python检测远程udp端口是否打开的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python检测远程udp端口是否打开的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 我的页面上有两个按钮,一个用于查看pdf(在新选项卡中打开),一个用于下载pdf(通过添加附件标题直接下载)。 以下是我到目前为止的测试代码: