[英]Packet Encapsulation in Java
我已經為我的數據通信類分配了一個任務,我需要通過UDP封裝IP數據包。 然后,我需要將此手動數據包封裝到實際的UDP數據包中並通過IP發送。 這將產生以下協議棧(藍色表示我將手動創建的頭):
在Java中有一種簡單的方法嗎? 我理解在CI中可以使用在Linux內核庫中為UDP和IP頭定義的結構,手動填充所有字段,並將信息連接到數據包中。 但是,在Java中,我將無法訪問Linux網絡頭文件。 我也試圖在不使用外部API的情況下這樣做。
為了澄清,我計划使用Eclipse開發應用程序Linux。
實際上,您可能嘗試通過Java Native Access訪問Linux內核庫。
像這樣:( http://jnaexamples.blogspot.tw/2012/03/java-native-access-is-easy-way-to.html )
您可以將TCP數據包結構包裝在本機c代碼中,然后從Java套接字發送它。
同時,如果要在java中組裝TCP / IP數據結構,jnetpcap庫可能是您的編碼參考。 ( http://jnetpcap.com/node/29 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.