Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
 
МакСим88
0 / 0 / 0
Регистрация: 05.11.2009
Сообщений: 15
1

Nmap. LUA-скрипт для поиска открытых портов

24.02.2017, 01:26. Просмотров 409. Ответов 0
Метки нет (Все метки)

Задача:
Найти хосты с открытыми TCP-портами (1-65535). Попытаться определить ОС, имя хоста, мак-адрес. Попытаться определить сервисы на этих портах. Для всех ОС Windows не выводить данные по портам 45500,45501,45502.
Вывести в файл txt результаты в таком виде:

IP адрес 1 /имя хоста/ мак-адрес/ ОС
порт / имя сервиса/ состояние / протокол
порт / имя сервиса/ состояние / протокол
порт / имя сервиса/ состояние / протокол

IP адрес 2 /имя хоста/ мак-адрес/ ОС
порт / имя сервиса/ состояние / протокол
порт / имя сервиса/ состояние / протокол
порт / имя сервиса/ состояние / протокол
Попытался написать сам:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
portrule = function(host, port)
    return port.protocol == "tcp"
            and port.state == "open"
end
 
-- The Action Section --
action = function(host, port)
    
    local host_ip=host.ip
    local host_name=host.name
    if (host_name==nil)then
    host_name="unknown"
    end
    local host_mac_addr=host.mac_addr
    if (host_mac_addr==nil)then
    host_mac_addr="unknown"
    end
    local port_protocol=port.protocol
    if (port_protocol==nil)then
    port_protocol="unknown"
    end
    local port_service=port.service
    if (port_service==nil)then
    port_service="unknown"
    end
    local port_reason=port.reason
    if (port_reason==nil)then
    port_reason="unknown"
    end
    local port_state=port.state
    if (port_state==nil)then
    port_state="unknown"
    end
    local port_number=port.number
    if (port_number==nil)then
    port_number="unknown"
    end
    local port_version_name=port.version.name
    if (port_version_name==nil)then
    port_version_name="unknown"
    end
    
    file = io.open ("scanresult.txt","a+")
    file:write (host_ip..""..host_name.." "..host_mac_addr.." "..port_number.." "..port_version_name.." "..port_state.." "..port_protocol.."\n")
    file:flush()
    file:close()
    
    local result=host_ip..""..host_name.." "..host_mac_addr.." "..port_number.." "..port_version_name.." "..port_state.." "..port_protocol
    
    return result
end
Столкнулся с такими проблемами:
  1. Не получается хотябы попытаться определить ОС (смотрел в коде скриптов smb-system-info.nse и smb-os-discovery.nse, но так и не смог применить их)
  1. Каждая запись начинается с IP, номера порта, сервиса и т.д., а необходимо записи группировать по IP. Предполагаю, что тогда надо идти не через portrule, а через hostrule, но в таком случае теряюсь как потом в action сканировать порты?
  1. Список портов к каждому IP должен не отсортирован по номеру порта
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2017, 01:26
Ответы с готовыми решениями:

Поправить скрипт LUA
Здравствуйте! Уважаемые, возникла необходимость подправить скрипт в LUA, и...

Lua Socket TCP/IP скрипт зависает
Использую чпу для резки лазером. Язык расширения у неё Lua. Соединение по...

Есть Lua скрипт но он не запускаеться а код не читаем
Здравствуйте есть lua скрипт помогите его раскодировать,он когда в блокноте или...

Программа для Lua
Посоветуйте пожалуйста программу для написания, просмотра и отладки lua...

Средства компиляции для Lua
В последние время я заметил, что активно стал использоваться язык Lua, в...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.02.2017, 01:26

Можно ли сделать ОС для компьютера на lua?
Можно ли сделать свою ОС для компьютера на lua. Желательно без использования...

LUA и прекрасный враппер для Билдера
Отака, можешь попробовать tolua++ либу сделать для Билдера? А то тот, враппер,...

Посоветуйте литературу по Lua и Corona SDK для начинающих
Знаю Delphi, c++, assembler. Последний немного. Посоветуйте с чего начать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru