Форум сайта python.su
Здравствуйте. Возникла необходимость написать маленькую программу, но из-за того, что мои знания в программирование на python стремятся к нулю, а попытки прочитать учебник ограничивает время на сдачу этого поделия, решил обратиться к вам за помощью.
Имеется файл netstat.txt В файле записаны результаты команды netstat в cmd. Например:
Активные подключения
Имя Локальный адрес Внешний адрес Состояние
TCP 192.168.0.103:1658 lb-in-f188:5228 ESTABLISHED
TCP 192.168.0.103:2017 149.154.167.51:https ESTABLISHED
TCP 192.168.0.103:1658 lb-in-f188:5228 ESTABLISHED
TCP 192.168.0.103:2026 bud02s21-in-f3:https ESTABLISHED
Активные подключения
Адрес: lb-in-f188 порт: 5228
Адрес: lb-in-f188 порт: 5228
Адрес: 149.154.167.51 порт: 443 (https)
Адрес: bud02s21-in-f3(DNS) порт: 443 (https)
l=[] f = codecs.open('netstat.txt', 'r', 'cp866') for line in f: l = f.read().splitlines()
Офлайн
>>> text = """\ ... Активные подключения ... ... Имя Локальный адрес Внешний адрес Состояние ... TCP 192.168.0.103:1658 lb-in-f188:5228 ESTABLISHED ... TCP 192.168.0.103:2017 149.154.167.51:https ESTABLISHED ... TCP 192.168.0.103:1658 lb-in-f188:5228 ESTABLISHED ... TCP 192.168.0.103:2026 bud02s21-in-f3:https ESTABLISHED ... """ >>> >>> def f1(s): ... it = iter(s.splitlines()) ... return f2(it) ... >>> def f2(it): ... for i in range(3): ... next(it) ... return f3(it) ... >>> def f3(seq): ... return (tuple(i.split()[2].split(':', 1)) ... for i in seq) ... >>> list(f1(text)) [('lb-in-f188', '5228'), ('149.154.167.51', 'https'), ('lb-in-f188', '5228'), ('bud02s21-in-f3', 'https')] >>>
prnogoddns-сервер из текста может быть определён только по порту 53 (dns).
каким-то образом отсортировать DNS сервера.
Отредактировано py.user.next (Июнь 13, 2015 23:42:41)
Офлайн