簡體   English   中英

以編程方式進行PPTP VPN連接並捕獲數據包

[英]Make PPTP VPN Connection Programmatically And Capture Packets

我使用這個教程以編程方式進行PPTP VPN連接並捕獲數據包但有些事情是錯誤的,我認為問題是當我想在循環中使用cature pocket

當我通過應用程序連接到vpn並嘗試在瀏覽器中打開網站時顯示: You are offline ... Sendreceived始終是0 bytes / 0 pockets我還需要在應用程序中斷開連接

我怎么能解決它們?

您使用的教程不是關於PPTP或其他特定的VPN類型,而是關於數據包捕獲。 您應該自己實現PPTP客戶端,然后將數據包捕獲代碼(while循環)和PPTP客戶端代碼互連。

如果您可以顯示源代碼,則更容易顯示錯誤。

UPD1:

那我怎么可以使用PPTP連接,連接和斷開它?

這是一項龐大而復雜的任務。 沒有快速解決方案。 當我做同樣的事情時,我花了大約一年的時間。 您可以執行以下操作:

  1. 將現有的第三方PPTP客戶端導入到您的項目中(例如, http://pptpclient.sourceforge.net/
  2. 改進導入的代碼,使其能夠與您的主代碼交互(您可以通過JNI作為本機庫使用的C / C ++代碼或作為外部可執行文件,並通過IPC與之交互)
  3. 將代碼與導入的代碼鏈接(從VPN服務套接字讀取IP數據報,將其寫入PPTP客戶端套接字,反之亦然)

UPD2:

我看到了兩個實現VpnService的應用程序。

第一個是StrongSwan。 VpnService 在這里擴展,本機部分(真正的vpn服務實現)從這里開始。

第二個是OpenVpn port ics-openvpn。 它開始獨立OpenVPN進程這里 ,並通過標准的OpenVPN管理接口(Unix套接字)管理它在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM