java解析数据包(不知道发对区没有)
网络安全课,教授给了一个java的抓包的类(他大概是基于winpcap做的),大概的功能是可以捕获数据包和发送数据包,
这个类就四个 Method
java.lang.String[] getAdapterNames()
boolean openAdapter(java.lang.String adapterName)
byte[] readPacket()
boolean sendPacket(byte[] packet)
他的范例程序调用了这个类,可以得到类似这样的输出(我不太懂,那些byte流应该就是抓到的包吧)
Number of adapters: 2
Device name in Java =\Device\NPF_{1FA362BB-EDD9-4046-8F1F-13CC5FF4D169}
Device name in Java =\Device\NPF_{29396E1D-1AB0-4173-87E4-4CC5FE118A08}
Adapter is open: \Device\NPF_{1FA362BB-EDD9-4046-8F1F-13CC5FF4D169}
Packet: java.nio.HeapByteBuffer[pos=0 lim=42 cap=42] with capacity: 42
00 00 0C 07 AC 00 1C 4B D6 F7 D6 1C 08 06 00 01 .......K........
08 00 06 04 00 01 1C 4B D6 F7 D6 1C 81 F4 B4 B2 .......K........
00 00 0C 07 AC 00 81 F4 B0 01 ..........
他让我们做一个类似解析器的东西,我估计就像ethereal那种,可以把这些包解析成各种可读协议的形式(比如tcp header,ip header,udp header),能够知道这些包是什么类型,源ip地址,目的ip地址等等
请问我要怎么入手啊,能推荐一下相关的资料么?我很缺乏这方面的知识