
создание операторов Cypher CREATE из файлов netstat с нескольких машин

Графы помогают выявлять аномалии и закономерности в больших наборах данных.
Этот скрипт собирает информацию netstat с нескольких хостов и форматирует её для импорта в Neo4j.
Neo4j можно запрашивать для поиска подключений к определённым хостам, от определённых хостов, узнавать об использовании протоколов и многое другое.
В каталоге example уже есть несколько файлов, чтобы вы могли протестировать инструмент.
Также вы найдете примеры запросов, которые помогут получить базовое представление о возможностях поиска.
В настоящее время инструмент протестирован с выводом netstat систем Windows с использованием команды 'netstat -an'
https://docs.docker.com/install/linux/docker-ce/centos/
https://docs.docker.com/compose/install/
git clone https://github.com/trinitor/netstat2neo4j.git /opt/netstat2neo4j/
cd /opt/netstat2neo4j/
docker-compose up -d
https://ip:7474
user: neo4j
pass: neo4j
скопируйте все выходные файлы netstat (файлы *.txt) в /opt/netstat2neo4j/script/import/
cd /opt/netstat2neo4j/script/
bash csv2neo4j.sh
необходимые cypher-запросы можно найти в файле create_database.txt
перейдите по адресу https://localhost:7474
Скопируйте содержимое из create_database.txt
Вставьте в командную строку интерфейса neo4j
MATCH (src)-[:DEPENDS_ON]->(dst)
WHERE src.ip STARTS WITH '192_168_'
RETURN src, dst
Также в папке example есть файл query.txt.
В: Это избыточно. Разве вы не знаете о других проектах?
О: Знаю. Это не ново и не уникально. Существуют бесплатные проекты, учебные пособия и коммерческие продукты на основе агентов для построения карт и даже принудительного применения правил.
Некоторые примеры:
Этот маленький проект ни в коем случае не является заменой.
В: Создавать netstat на всех машинах сложно. У вас есть решение?
О: Хотя вы можете собирать информацию с помощью WMI/PowerShell удаленно, я не рекомендую иметь учетную запись с полными правами администратора на всех системах.
Используйте свою систему управления конфигурацией для планирования создания netstat или используйте запланированные задачи. Это выходит за рамки этого маленького проекта.
Если вы хотите использовать учетную запись со всеми ключами от королевства:
https://ijustwannared.team/2019/04/22/network-connection-footprinting-with-wmi-and-neo4j/
В: Вы, должно быть, ошибаетесь. Neo4j должна уметь читать CSV-файлы напрямую. Зачем вы создаете запросы самостоятельно?
О: Вы правы. Импортировать CSV-файлы напрямую возможно.
https://neo4j.com/developer/guide-import-csv/