Проверка массового порта 80

Так что это то, что мне нужно сделать. Мне нужен способ проверить, открыт ли порт 80 (если хост работает с веб-сервером на порту 80) на множестве IP за раз, очень быстро, а затем сохраняйте только ips, у которых открыт порт 80. Каким будет самый лучший способ сделать это быстрее всего? Благодарю.

Это было бы очень просто с Python, по крайней мере, чтобы убедиться, что порт открыт. Затем вы могли убедиться, что там работает веб-сервер, если вы делаете запрос и проверяете заголовок (думаю, 200 OK ).

В любом случае, чтобы сделать это в Python установите nmap в вашу систему, а затем привязки nmap python.

 #!/usr/bin/env python import nmap, threading, urllib2, socket baseip = "108.170.28.{}" def NmapPortScan( targethost, targetport = 80 ): print("Trying: " + str(targethost) ) scanner = nmap.PortScanner() result = scanner.scan( str(targethost), str(targetport) ) if ( int(result['nmap']['scanstats']['uphosts']) == 1): try: state = result[str(targethost)]['tcp'][int(targetport)]['state'] print "State: {} : {}".format(str(targethost), str(state)) return state except: print "State: {} : {}".format( str(targethost), "error") return "error" else: print "{}: Not up".format( str(targethost) ) return "notup" def CheckHttpStatus( targethost ): req = urllib2.urlopen( targethost ) if( "Content-Type: text/html" in req.info().headers[3] ): return True else: return False def LogIp( ipaddr ): with open("openips.txt", "a") as fi: fi.write( ipaddr + '\n' ) fi.close() def CheckIps( ip ): if ( NmapPortScan( ip ) == "open" ) and ( CheckHttpStatus( "http://" + socket.gethostbyaddr( ip )[0] ) ): #if ( CheckHttpStatus( "http://" + socket.gethostbyaddr( ip )[0] ) ): LogIp( ip ) print( "Open Port 80 on: " + str(ip) ) def main(): for i in range(153, 201): #for i in range(153, 154): ip = baseip.format(str(i)) #CheckIps( ip ) th = threading.Thread(target=CheckIps, args=(ip,)) th.start() if __name__ == "__main__": main() 

Это будет и то, и другое:

  1. Распечатайте сообщение на консоль: Open Port 80 on: xxx.xxx.xxx.xxx

  2. Войдите в файл IP: openips.txt сохраненный там, где вы запускали скрипт.

Самый быстрый способ:

 ~ # nmap 192.168.1.0/24 -p 80 

Просто измените 192.168.1.0/24 на свою подсеть / маску

Ознакомьтесь с nmap.org для получения информации о инструменте командной строки nmap , который может быть установлен в вашей системе. Именно для этой цели. Помните, не делайте зла!

Напишите сценарий, который использует nmap или netcat для запроса соответствующих IP-адресов, затем проанализируйте результат.

Используйте Nmap и выведите выходные данные через grep.

  • Возможно ли скопировать двоичные данные, содержащие символ NUL, в буфер обмена X?
  • Как создать видео с изображений с помощью FFmpeg?
  • Отменить Linux rm?
  • Как сделать голосовой ответ VirtualBox на порт rdp?
  • Как получить сетевую статистику в реальном времени в Linux с помощью формата KB / MB / Bytes и для конкретного идентификатора процесса или порта
  • Я сломал свой MBR / Windows, не разрешил мне переформатировать!
  • Не удается смонтировать USB после небезопасного извлечения
  • Как интерпретировать отпечаток TCP / IP при сканировании ОС?
  • Могу ли я переместить все мои bin и пользовательские папки на другой диск?
  • Sudo -k vs. sudo -K
  • Добавление файла jar в CLASSPATH по-прежнему не выполняется
  • Interesting Posts

    Как я могу наилучшим образом угадать кодировку, когда спецификация (знак байтового заказа) отсутствует?

    Выберите между выполнением ExecutorService и ExecutorService

    Как я могу разобрать этот JSON в Android?

    как включить вертикальную синхронизацию в opengl?

    Как определить версию Windows из мертвой установки из Linux, имея доступ только к своей файловой системе?

    Запустить приложение на OS X с командной строкой

    Как удалить выбранный DataGridViewRow и обновить связанную таблицу базы данных?

    Использование нескольких клавиатур с разной раскладкой клавиатуры в Windows

    Использовать success () или complete () в вызове AJAX

    DNS через SSH-туннель

    Как я могу избежать перекрытия медиа-запросов?

    Могу ли я навсегда запретить обновлениям безопасности Java от установки панели инструментов Yahoo?

    ClassCastException android.widget.FrameLayout $ LayoutParams для android.support.v4.widget.DrawerLayout $ LayoutParams

    Как обрезать изображение с помощью imagemagick из командной строки?

    Получение временной отметки unix из Date ()

    Давайте будем гением компьютера.