Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получить данные в формате 192.168.1.3 80, 8080, 21

2.0K
24 декабря 2018 года
Piro
7 / / 05.11.2008
Я не очень силен в программировании, в Python тем более.

Моя задача:
Есть txt файл в котором содержится результат работы masscan
Требуется вывести ip со всеми найденными его открытыми портами :

res.txt
 
Код:
# Masscan 1.0.3 scan initiated Sun Dec 23 23:00:31 2018
# Ports scanned: TCP(1;80-80) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Host: 192.168.1.1 ()    Ports: 80/open/tcp////
Host: 192.168.1.1 ()    Ports: 801/open/tcp////
Host: 192.168.1.2 ()    Ports: 801/open/tcp////
Host: 192.168.1.2 ()    Ports: 445/open/tcp////
Host: 192.168.1.3 ()    Ports: 80/open/tcp////
Host: 192.168.1.3 ()    Ports: 8080/open/tcp////
Host: 192.168.1.3 ()    Ports: 21/open/tcp////
# Masscan done at Sun Dec 23 23:00:45 2018
Я пробую получить данные в таком формате.

192.168.1.1 80, 801
192.168.1.2 801, 445
192.168.1.3 80, 8080, 21

Вот как я пытаюсь это сделать:
Код:
ports = []
ip = None

with open('mres.txt','r') as f:

for elem in f.readlines():

    if not elem.startswith('#'):
          if ip != None:

              if elem.split(' ')[1] == ip:
                  ports.append(elem.split(' ')[3].split('/')[0])
                  continue
              else:
                  print('nmap '+ip +' ports: '+str(ports))
                  ports=[]
          else:
              print('Unic: '+ip + ' port: '+ elem.split(' ')[3].split('/')[0])
              ip = elem.split(' ')[1]
              ports.append(elem.split(' ')[3].split('/')[0])
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог