【问题标题】:Trigger event when ethernet adapter state changes Python当以太网适配器状态改变 Python 时触发事件
【发布时间】:2021-11-22 19:48:27
【问题描述】:

尝试创建一个在后台运行 24x7 的程序,并执行由 PC/笔记本电脑中以太网适配器端口的上/下变化(即连接/断开连接状态)触发的操作。如何在 Python 中实现相同的功能?

例如:

conn = True
def conCheck()
    if conn == False:
        <trigger onward events>
    else:
        <else statements>

任何帮助将不胜感激。正在努力学习python。

感谢和问候

【问题讨论】:

    标签: python events connection adapter ethernet


    【解决方案1】:

    你可以编写一个函数来请求一个网页来检查互联网连接。

    如果没有互联网,您可能会收到 ConnectionError。 否则,您将收到来自 URL 的响应。即您已连接到互联网。

    使用以下代码并尝试中断您的代码正在执行的连接。当您的互联网中断时,您会看到不同之处。

    import time
    
    import requests
    
    url = "http://www.kite.com"
    timeout = 5
    conn = True
    
    
    def conCheck():
        try:
            request = requests.get(url, timeout=timeout)
            print("Connected to the Internet")
            return True
        except (requests.ConnectionError, requests.Timeout) as exception:
            print("You're not connected to the internet. ")
            return False
    
    
    while True:
        conCheck()
        time.sleep(1)
    

    【讨论】:

    • 您好 Vikas,感谢您的及时回复。我的目标是检测外部设备连接(例如,一名 rouge 员工将他的笔记本电脑连接到我的隔离网络中的一个系统)并采取未来的行动,如封屏、制作日志、关闭服务等(基于是否能够每次我的 eth 端口启动时是否到达我的网关)。在那种情况下,这将行不通。我打算从我的 ARP 中获取他的 MAC 来识别机器并在他们不知道的情况下做一些其他的事情。因此,需要读取端口物理上/下状态以进行相应的分支。
    猜你喜欢
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多