当以太网适配器状态改变 Python 时触发事件
Posted
技术标签:
【中文标题】当以太网适配器状态改变 Python 时触发事件【英文标题】:Trigger event when ethernet adapter state changes Python 【发布时间】:2021-11-22 19:48:27 【问题描述】:尝试创建一个在后台运行 24x7 的程序,并执行由 PC/笔记本电脑中以太网适配器端口的上/下变化(即连接/断开连接状态)触发的操作。如何在 Python 中实现相同的功能?
例如:
conn = True
def conCheck()
if conn == False:
<trigger onward events>
else:
<else statements>
任何帮助将不胜感激。正在努力学习python。
感谢和问候
【问题讨论】:
【参考方案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 来识别机器并在他们不知道的情况下做一些其他的事情。因此,需要读取端口物理上/下状态以进行相应的分支。以上是关于当以太网适配器状态改变 Python 时触发事件的主要内容,如果未能解决你的问题,请参考以下文章
jquery “做页面滚动到某屏时改变状态标题” 所用知识点记录