Как использовать WinPcap в Xamarin (Forms)

В C # для WinPcap существует множество оболочек .Net, например SharpPcap и PcapDotNet

Я попытался добавить эти пакеты Nuget в свои проекты Xamarin Forms, но это не сработало. Я хочу создать сканер Wi-Fi / пакетов, но не знаю, как это сделать в Xamarin. Это вообще возможно?

Когда я клонирую репозиторий GitHub и создаю собственную версию SharpPcap, приложение запускается, но я получаю сообщение об ошибке:

System.DllNotFoundException: wpcap

wpcap.dll - это dll, в которую упакованы все эти пакеты и которая [DllImport("wpcap.dll")] используется для работы. Это не будет работать в Xamarin (я думаю).

Другой способ использовать библиотеки DLL - это когда вы встраиваете их в качестве ресурса приложения, есть ли какая-нибудь библиотека, которую я могу использовать для этого?


person Community    schedule 14.03.2018    source источник


Ответы (1)


WinPcap состоит из драйвера, расширяющего операционную систему для обеспечения низкоуровневого доступа к сети, и библиотеки, которая используется для простого доступа к низкоуровневым сетевым уровням. Эта библиотека также содержит версию для Windows известного libpcap Unix API.

Источник: https://www.winpcap.org/

Нет ничего невозможного, однако в мобильном мире у вас нет такого низкоуровневого доступа к драйверам и т. Д., Если у вас нет root на вашем устройстве. Непонятно, что именно вы хотите построить. Но я знаю, что и на iOS, и на Android есть приложение под названием Fing. Он сканирует вашу сеть Wi-Fi на наличие подключенных устройств. Он написан изначально для каждой платформы. На Android раньше было много разных приложений, использующих технику MITM. Например DroidSheep. Но я не знаю ни одного кроссплатформенного решения, которое могло бы сканировать сеть или анализировать пакеты.

person EvZ    schedule 15.03.2018
comment
Есть ли способ сделать это только на Android? И как мне использовать dll как встроенный ресурс? - person ; 15.03.2018
comment
Взгляните на проекты с открытым исходным кодом, такие как github.com/rorist/android-network-discovery - person EvZ; 15.03.2018
comment
Проект находится на Java, но мне нужно, чтобы он работал в Xamarin (c #) - person ; 15.03.2018