我的目的:对应用层数据byte[] data中某几个字节进行匹配操作并输出判断结果。
    jpcap规定在截获包以后把应用层数据放入字节数组data中,可是我只能使用System.out.println把data的内容直接打印在屏幕上,却无法对data内容进行任何其他操作。
    例:byte[] tcpdata=tcppacket.getdata();
        if(tcpdata[0]==0x11 &&tcpdata[1]==0x22)
        system.out.print("protocol A");
    导致的结果是无任何显示,连原先的在屏幕上打印data也显示不出来了。
    我使用了以下几种方法依然无法解决该问题:
1。把data转化为一个String然后进行字符串匹配
2。把data写入文件,再从文件中读出,结果是文件中空空如也,一行也没有写进去
   网上的两种jpcap我都用过,均不能处理应用层数据。sourceforge的jpcap还好点,顶多弹出(unknown source)异常,或者无显示,另外一个版本干脆来了个jvm crash。
    网上一些示例统统回避了对应用层数据的处理,一个判断是否为http包的代码居然以端口是否为80作为判断标准,实在无语言了。。
    请熟悉jpcap使用或者熟悉字节数组操作的的同仁帮小弟解答以上问题。十分感谢!