C
Хотелось бы показать маленькую реализацию простого, многопоточного сканера. Данный код можно использовать как дополнительный модуль в своей архитектуре, подключив его.
Сам сканер представляет из себя класс ScanIP с тремя методами.
В данном варианте, при создании экземпляра класса, его конструктор принимает кортеж, состоящий из двух переменных – аргументов командной строки – ip-адрес а и списка портов соответственно.
Python:
parser = argparse.ArgumentParser(usage='''%(prog)s [опции]\nДля вызова помощи: %(prog)s -h''')
parser.add_argument('ip', action='store', type=str, help='spec target host')
parser.add_argument('ports', action='store', type=str, help='spec target port')
args = parser.parse_args()
scan = ScanIP(args)
Первый аргумент командной строки принимает ip-адрес, второй – список портов. Список портов перечисляется через запятую, значения должны быть целочисленными, либо в виде диапазона через тире, например: 21,25-27,99,110,113,443,8000-8005.
В...