Недавно я был в такой же ситуации в Linux (виновником был adb
). Мой подход состоял в том, чтобы использовать систему аудита для регистрации системных вызовов connect()
.
sudo auditctl -a exit,always -F arch=b64 -S connect -k who-connects
Чтобы указать системе аудита регистрировать все connect()
системные вызовы (здесь 64-битный вариант, вы можете добавить еще один для 32-битных вариантов, если вы работаете в мультиархивной системе с обоими 32- и 64-разрядные приложения)
Последующий запуск:
sudo ausearch -i -k who-connects
Чтобы посмотреть, какие соединения установлены.
По-прежнему можно устанавливать TCP-соединения без использования API сокетов. Например, путем реализации стека TCP в пользовательском пространстве и использования API более низкого уровня для отправки пакетов, но это не будет обычным явлением (особенно на интерфейсе обратной связи).