Сервис для хранения отчетов Nmap с использованием Sanic.
Для запуска сервиса необходим установленный Docker и Docker-compose.
Команда запуска сервиса:
docker-compose up
Команда запуска сервиса в фоновом режиме:
docker-compose up -d
После запуска работу сервиса можно проверить, открыв в браузере http://127.0.0.1:8000/swagger/#/Nmap/post_scan.
Сервис работает с использованием Sanic.
Данные отчетов Nmap хранятся в MongoDB.
Возможность тестового взаимодействия с API реализованно через Swagger с помощью Sanic OpenAPI 2.
Метод проивзодит сканирование указанного в теле запроса host
, выдает ответ в виде JSON с полями data
и objectIds
.
Если save_xml
было истинно, то отчет будет сохранен в файл XML
.
Информация о теле запроса:
Название поля | Тип данных | Обязательное поле? | Описание |
---|---|---|---|
host |
string |
+ | Hostname для сканирования |
save_xml |
bool |
+ | Необходимо ли сохранить отчет в XML файл? |
Пример тела запроса:
{
"host": "1.1.1.1",
"save_xml": true
}
Информация о теле ответа:
Название поля | Тип данных | Описание |
---|---|---|
data |
list |
Информация о сканируемом Hostname |
objectIds |
list |
Список objectId , полученные при добавлении информации в БД |
Пример тела ответа:
{
"data": [
{
"ip": "1.1.1.1",
"time_scan": 1651494082,
"hostnames": [
{
"name": "one.one.one.one",
"type": "PTR"
}
],
"ports": {
"53": {
"state": "open",
"protocol": "tcp",
"service": "domain",
"version": null
},
"80": {
"state": "open",
"protocol": "tcp",
"service": "http",
"version": null
},
"443": {
"state": "open",
"protocol": "tcp",
"service": "http",
"version": null
},
"853": {
"state": "open",
"protocol": "tcp",
"service": "domain",
"version": null
}
},
"os_info": {},
"_id": "626fccc2cf30fc6742d519a8"
}
],
"objectIds": [
"626fccc2cf30fc6742d519a8"
]
}