Регистрация исходящих соединений, как они происходят


23

Есть ли способ зарегистрировать все исходящие соединения, которые создает процесс? Я знаю об этом, netstatно, похоже, это скорее снимок момента, а не то, что запускает и регистрирует информацию за период.

Мне нужен только IP или имя хоста, порт и процесс, устанавливающий соединение.


1
Ну, вы могли бы сделать что-то вроде watch -n 2 netstatтого, но это не правильное решение, не так ли?
Ульрих Шварц

1
[Эта тема] [1] должен ответить на ваш вопрос [1]: superuser.com/questions/34782/…
Форма жизни инопланетянина

Ответы:


15

В Linux вы можете настроить подсистему аудита для регистрации каждой попытки установить сетевое соединение. Для получения информации о подсистеме аудита, прочитать auditctlстраницу человека или этот учебник или другие примеры на этом сайте . При необходимости установите auditdпакет вашего дистрибутива , затем

auditctl -A exit,always -S connect

Журналы во /var/log/audit/audit.logвсех дистрибутивах, которые я знаю. Вы также можете искать их с ausearch.


3
Мне нужно было определить, какой процесс устанавливает исходящее соединение. Это было сделано мгновенно. Чтобы избежать затопления бревен, впоследствии удалите правило:auditctl -d exit,always -S connect
Майкл Хэмптон

Как я могу проверить журналы?
везение

@luckydonaldless /var/log/audit/audit.log
Жиль "


3

В Linux вы можете использовать ip_conntrackдля этого. Это модуль отслеживания подключений, который обычно используется для мониторинга подключений по протоколам странного поведения (например, FTP), которые управляются брандмауэром / NAT.

modprobe ip_conntrack
cat /proc/net/ip_conntrack

Вы можете выполнить поиск псевдофайла grep для просмотра установленных подключений, а затем выполнить поиск grep исходного IP-адреса, чтобы узнать, когда он исходит из вашего ящика.


Вопрос не обязательно должен быть ориентирован на Linux.
Карлсон

0

Я хотел бы посмотреть на использование tcpdumpна исходящем интерфейсе, глядя на исходящие SYNзапросы.

Если вы действительно любите приключения, вы можете создавать такие утилиты, как: straceили trussсообщать обо всех connectсистемных вызовах, отслеживая выполнение программы, но это немного более опасно и имеет недостатки при работе с многопоточными процессами.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.