Я работаю над приложением Android, которое читает пакеты из интерфейса TUN
, созданного с помощью VpnService API , в коде C с использованием NDK.Я хотел бы соотнести полученные пакеты с установленными приложениями, т. Е. Узнать, какое приложение отправило определенный пакет без корневого доступа .С корневым доступом это был бы простой случай использования netstat
/ lsof
или просмотра некоторых файлов /proc
.Однако я не смог найти список отображений connection <-> PID (или UID) ни в собственном контексте Linux, ни в API-интерфейсах Android более высокого уровня.
Я не возражаю против более сложного решения, которое требует работы и несколько хакерского, если оно работает без корневого доступа.
С нетерпением ждем даже идей и отправных точек, которые я смогу изучить самостоятельно,если у вас нет полного решения.И если вы знаете на 100%, это невозможно, независимо от того, какие обходные пути я могу попробовать, дайте мне знать.