国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java如何處理ICMP報文的收發

2019-11-18 12:11:53
字體:
來源:轉載
供稿:網友

    前言

    java是跨平臺語言,一般來說對網絡的操作都在ip層以上,也就是只能對tcp/udp進行操作,當然也可以設置部分tcp/udp的option,假如想再往IP層或者數據link層操作就無能為力了,必須依靠jni使用本地OS的socket部分接口。很幸運,我在知道有winpcap的時候同時也知道有人在開發jpcap,此包可以方便的操作網絡底層應用協議,以下具體描述。

    實施步驟

    下載需要的包http://netresearch.ics.UCi.edu/kfujii/jpcap/doc/index.Html上可以下到最新的jpcap,你只需要把lib中的dll文件拷貝到jre的bin目錄,同時lib中的jar文件拷貝到jre中的lib/ext目錄下就安裝完整,當然你可以使用exe安裝包進行安裝,這樣會更加的簡單。

    編碼你可以使用任何你喜歡的ide工具,但是必須把jpcap.jar加到classpath中,否則無法編譯通過。icmp有很多類型,當前僅用echo類型為例,也就是我們通過用的ping工具所產生的網絡行為。以下為代碼具體。



    1. import java.net.InetAddress;
    2. import jpcap.JpcapCaptor;
    3. import jpcap.JpcapSender;
    4. import jpcap.NetworkInterface;
    5. import jpcap.packet.EthernetPacket;
    6. import jpcap.packet.ICMPPacket;
    7. import jpcap.packet.IPPacket;
    8. class ICMP
    9. {
    10.     public static void main(String[] args) throws java.io.IOException{
    11.         NetworkInterface[] devices = JpcapCaptor.getDeviceList();
    12.         if(args.length<1){
    13.             System.out.            for(int i=0;i<devices.length;i++)
    14.                 System.out.println(i+":"+devices[i].name+"("+devices[i].description+")");
    15.             System.exit(0);
    16.         }
    17.         int index=Integer.parseInt(args[0]);
    18. //開啟網絡設備
    19.         JpcapCaptor captor=JpcapCaptor.openDevice(devices[index],2000,false,3000);
    20. //設置只過濾 icmp包
    21.         captor.setFilter("icmp",true);
    22.         JpcapSender sender=captor.getJpcapSenderInstance();
    23.         
    24.         ICMPPacket p=new ICMPPacket();
    25.         p.type=ICMPPacket.ICMP_ECHO;
    26.         p.seq=(short)0x0005;

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 林芝县| 呼图壁县| 上虞市| 隆化县| 迭部县| 永年县| 凌源市| 大埔区| 长海县| 西安市| 石河子市| 天峨县| 开远市| 三台县| 荆州市| 措美县| 盐源县| 北流市| 通江县| 师宗县| 韶山市| 榆社县| 桦南县| 都匀市| 诸城市| 云浮市| 淮滨县| 奉化市| 泗洪县| 丰顺县| 肇州县| 满城县| 新巴尔虎右旗| 神农架林区| 分宜县| 辽源市| 芜湖市| 石城县| 兴国县| 正阳县| 思南县|