totiks
Сен. 23, 2014 10:36:35
Здравствуйте,хотелось бы написать скрипт который слушает определенный порт и если нет на этом порту активности ,по истечению некоторого времени чтоб он отключал комп(хочу применить его для торрент клиента,дело в том что использую qbittorent,в нем эта функция есть но она почему-то не работает) ,подскажите пожалуйста какие модули задействовать, что почитать ,может есть где-то готовые реализации,заранее вам спасибо.
JOHN_16
Сен. 23, 2014 10:45:58
в сетях не силен, поэтому встречный вопрос. Если процесс А делает bind к порту Б то как процесс В получит к нему доступ - ведь он уже занят, а возможности подключится двоих клиентам на 1 порт я как то не представлю.
В зависимости от ОС можно вызвать через модуль subprocess нужную команду командной строки, в линуксе shutdown -h now, в винде наверняка подобное есть - Гуг в помощь.
Alen
Сен. 23, 2014 22:22:08
totiks
скрипт который слушает определенный порт
JOHN_16
Если процесс А делает bind к порту Б то как процесс В получит к нему доступ
Также как любой снифер, простейший вариант:
#!/usr/bin/env python
#-*-coding:utf8-*-
import socket
from select import select
import sys
try:
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, 6)
except:
sys.stderr.write('Use `sudo`')
sys.exit(1)
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
s_list = []
s_list.append(s)
while len(s_list) > 0:
sockets = select(s_list, [], [], 0)
for s_ready in sockets:
print(repr(s.recv(1024)))