2016-04-13 19 views
1

Hangi okuma çerçevesini (bağlantı katmanı, IP katmanı, TP başlığı gibi tüm başlıkları olan) programlamak istiyorum. Bunun JAVA ortamında mümkün olmadığını düşünüyorum.Android'de ham soketi NDK ile uygulamak mümkün mü?

Ancak, bu şeyleri NDK'da android yapmak mümkün mü?

Android'de wireshark (herhangi bir başlık okuyan) gibi bir programın nasıl yapılacağı mümkün değilse?

+0

Aradığınız şey muhtemelen kök gerektirecektir. Bakınız: http://stackoverflow.com/questions/2608478/raw-sockets-on-android –

+0

Kök iznine ihtiyacı olduğunu biliyorum. Ama bilmek istediğim, NDK'da soket (AF_INET, SOCK_RAW, IPPROTO_XX) gibi fonksiyonlarla mümkündür. –

cevap

0

IP paketini VpnService ile yakalayabilirsiniz.

VpnService, kendi VPN çözümlerini genişleten ve geliştiren uygulamalar için temel bir sınıftır. Genel olarak, bir sanal ağ arabirimi oluşturur, adresleri ve yönlendirme kurallarını yapılandırır ve uygulamaya bir dosya tanıtıcısı döndürür. Tanımlayıcıdan okunan her şey, ara yüze yönlendirilen giden bir paketi alır. Tanımlayıcıya yapılan her yazma, gelen bir paketi arayüzden aldığı gibi enjekte eder. Arayüz İnternet Protokolü (IP) üzerinde çalışıyor, böylece paketler her zaman IP üstbilgileriyle başlatılıyor. Uygulama, daha sonra, bir tünel üzerinden uzak sunucu ile paketler işleyerek ve değiştirerek bir VPN bağlantısı tamamlar.

İlgili konular