版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JPCAP——Java中的数据链路层控制数据成员
NetworkInterfaceAddress[]
java.lang.String
datalink_description.
数据链路层的描述。描述所在的局域网是什么网。例如,以太网(Ethernet)、无线LAN网(wirelessLAN)、令牌环网(tokenring)等等。
java.lang.String
datalink_name
该网络设备所对应数据链路层的名称。详细来说,例如Ethernet10M、100M、1000M等等。
java.lang.String
description
网卡是XXXX牌子XXXX型号之类的描述。例如我的网卡描述:RealtekRTL8169/8110FamilyGigabitEthernetNIC
boolean
Loopback
标志这个设备是否loopback设备。
byte[]
mac_address
网卡的MAC地址,6个字节。
java.lang.String
Name
这个设备的名称。例如我的网卡名称:\Device\NPF_{3CE5FDA5-E15D-4F87-B217-255BCB351CD5}
2.JpcapCaptor
该类供应了一系列静态方法实现一些根本的功能。该类一个实例代表建立了一个与指定设备的链接,可以通过该类的实例来掌握设备,例如设定网卡模式、设定过滤关键字等等。
数据成员
int
dropped_packets
抛弃的包的数目。
protectedint
ID
这个数据成员在官方文档中并没有做任何说明,查看JPCAP源代码可以发觉这个ID实际上在其JNI的C代码局部传进来的,这类本身并没有做出定义,所以是供其内部使用的。实际上在对JpcapCator实例的使用中也没有方法调用此数据成员。
protectedstaticboolean[]
instanciatedFlag
同样在官方文档中没有做任何说明,估量其为供内部使用。
protectedstaticint
MAX_NUMBER_OF_INSTANCE
同样在官方文档中没有做任何说明,估量其为供内部使用。
int
received_packets
收到的包的数目
方法成员
staticNetworkInterface[]
getDeviceList()
返回一个网络设备列表。
staticJpcapCaptor
openDevice(NetworkInterfaceinterface,intsnaplen,booleanpromisc,intto_ms)
创立一个与指定设备的连接并返回该连接。留意,以上两个方法都是静态方法。
Interface:要翻开连接的设备的实例;
Snaplen:这个是比拟简单搞混的一个参数。其实这个参数不是限制只能捕获多少数据包,而是限制每一次收到一个数据包,只提取该数据包中前多少字节;
Promisc:设置是否混杂模式。处于混杂模式将接收全部数据包,若之后又调用了滤函数setFilter()将不起任何作用;
To_ms:这个参数主要用于processPacket()方法,指定超时的时间;
void
Close()
关闭调用该方法的设备的连接,相对于openDivece()翻开连接。
JpcapSender
getJpcapSenderInstance()
该返回一个JpcapSender实例,JpcapSender类是特地用于掌握设备的发送数据包的功能的类。
Packet
getPacket()
捕获并返回一个数据包。这是JpcapCaptor实例中四种捕获包的方法之一。
int
loopPacket(intcount,PacketReceiverhandler)
捕获指定数目的数据包,并交由实现了PacketReceiver接口的类的实例处理,并返回捕获到的数据包数目。假如count参数设为-1,那么无限循环地捕获数据。
这个方法不受超时的影响。还记得openDivice()中的to_ms参数么?那个参数对这个方法没有影响,假如没有捕获到指定数目数据包,那么这个方法将始终堵塞等待。
PacketReceiver中只有一个抽象方法voidreceive(Packetp)。
int
processPacket(intcount,PacketReceiverhandler)
跟loopPacket()功能一样,的区分是这个方法受超时的影响,超过指定时间自动返回捕获到数据包的数目。
int
dispatchPacket(intcount,PacketReceiverhandler)
跟processPacket()功能一样,区分是这个方法可以处于“non-blocking”模式工作,在这种模式下dispatchPacket()可能马上返回,即使没有捕获到任何数据包。
void
setFilter(java.lang.Stringcondition,booleanoptimize)
.condition:设定要提取的包的关键字。
Optimize:这个参数在说明文档以及源代码中都没有说明,只是说这个参数假如为真,那么过滤器将处于优化模式。
void
setNonBlockingMode(booleannonblocking)
假如值为“true”,那么设定为“non-blocking”模式。
void
breakLoop()
当调用processPacket()和loopPacket()后,再调用这个方法可以强制让processPacket()和loopPacket()停顿。
3.JpcapSender
该类特地用于掌握数据包的发送。
方法成员
void
close()
强制关闭这个连接。
staticJpcapSender
openRawSocket()
这个方法返回的JpcapSender实例发送数据包时将自动填写数据链路层头局部。
void
sendPacket(Packetpacket)
JpcapSender最重要的功能,发送数据包。需要留意的是,假如调用这个方法的实例是由JpcapCaptor的getJpcapSenderInstance()得到的话,需要自己设定数据链路层的头,而假如是由上面的openRawSocket()得到的话,那么无需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在职人员时间管理与效率优化指导书
- 可持续环保生产环节承诺函(8篇)
- 2025 八年级地理下册北方地区农业生态旅游的市场定位与细分课件
- 社会服务公益行动承诺书6篇范文
- 业务项目需求分析与规划流程模板
- 公司信用诚实保证承诺书范文7篇
- 2026年脾胃虚弱调理按摩实操演示
- 维修技术人员故障排查方案指南
- 2026年公共场所防踩踏演练培训
- 文化艺术投资保障承诺函4篇范文
- NB-T+10072-2018抽水蓄能电站设计规范
- 高中数学学业水平考试(合格考)知识点总结
- 互联网金融风险控制课件模板
- 小学科学湘科版五年级下册全册教案2023春
- DB32T 4740-2024 耕地和林地损害程度鉴定规范
- 污泥技术污泥运输方案
- 牛津3000正序和乱序词汇表
- 盖板玻璃基础知识玻璃加工过程介绍讲课
- 机械基础课程教学大纲
- 2024无缝钢管尺寸、外形、重量及允许偏差
- Cpk及Ppk计算电子表格模板
评论
0/150
提交评论