【问题标题】:Can I get the source port of an ssh connection in netmiko/paramiko? [closed]我可以在 netmiko/paramiko 中获取 ssh 连接的源端口吗? [关闭]
【发布时间】:2020-12-12 09:55:43
【问题描述】:

我有一个应用程序,我通过控制台服务器在 LAB 环境中配置 Cisco 路由器。
可以通过 SSH 访问路由器。有时在程序退出/崩溃后,ssh 连接不会终止。
重新启动后,当控制台服务器上的端口被阻止时,我无法登录到该特定路由器。
要取消阻止它,我需要终止该 ssh 会话。
如果我有更多正在使用的会话,我不知道我需要终止哪些会话,所以我想在 paramiko/netmiko 建立连接时获取源端口。

以前有人这样做过吗,或者有人有想法。

【问题讨论】:

    标签: python ssh paramiko netmiko


    【解决方案1】:

    要获取 Paramiko SSH 连接的底层套接字,请使用 ssh.get_transport().sock。 那么,见How do I print the local and remote address and port of a connected socket?

    所以通常,这会起作用:

    port = ssh.get_transport().sock.getsockname()[1]
    

    但这有几个假设。由于您不需要以编程方式使用端口号,因此更安全的是只打印 getsockname() 的完整结果,而不是假设结果是一个端口位于索引 1 的元组。

    【讨论】:

    • 谢谢,正是我想要的。
    猜你喜欢
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 2016-06-06
    • 2011-07-08
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    相关资源
    最近更新 更多