首先,使用Jpcap的几个小问题:
我们为什么需要Jpcap?
什么是Jpcap?Jpcap的工作原理是什么?
怎么配置Jpcap(Jpcap的安装)?
Jpcap使用步骤
Jpcap有啥特性?
一。我们为什么需要Jpcap?
Java的.net包中,给出了传输层协议TCP和UDP有关的API,用户只能操作传输层数据,要想直接操作网络层{比如自己写传输层数据报(自己写传输层包头),或者自己写好IP数据包向网络中发}则是无能为力的。而JPCAP扩展包弥补了这一点,使我们可以支持从网卡中接收IP数据包,或者向网卡中发送IP数据包。
二。什么是Jpcap?Jpcap的工作原理是什么?
Jpcap实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,而给JAVA语言提供一个公共的接口,从而实现了平台无关性。
三。怎么配置Jpcap(Jpcap的安装)?
Jpcap下载地址: http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/download.html
下载后,直接安装,安装,将生成的jar文件和动态库dll文件分别拷到
%JAVA_HOME%libext 和%JAVA_HOME%jrein 目录下。
因为Jpcap是调用的wincap,所以必须将动态库放入jre/bin下。 将jar放入ext下,则无需在项目中再加载该jar包
四。Jpcap使用步骤
1.首先,获得所有网卡列表
NetworkInterface[]devices=JpcapCaptor.getDeviceList();白手技术学习软件(网络资源共享)1.0 绿色版
2.通过网卡,打开一个捕捉器。//openDevice(NetworkInterfaceintrface,intsnaplen,booleanpromics,intto_ms);JpcapCaptorcaptor=JpcapCaptor.openDevice(device[index],65535,false,20);
各个参数意义:
intrface需要监听的网卡
snaplen每次捕获的数据包最大长度(设置为IP包最大长度即可)
promics是否过滤(Mac地址不是当前网卡的IP数据包)
to_ms超时时间
3.通过捕捉器捕获数据:
有两种方式:
3.1.回调方法
3.1.1.实现一个方法处理器接口的类PacketReceiver,并将该类的一个对象,注册到捕获器中。(回调方法的实现,其实就是监听器模型)
3.1.2.将消息处理器(PacketReceiver)注册到捕获器(JpcapCaptor)有两种方式
captor.processPacket(intnumber,PacketReceiverreciver);//1loopPacket(intnumber,PacketReceiverreciver);//2
参数意义:
第一个参数为需要捕获的IP包个数,-1表示一直捕获。
第二个参数表示需要注册的处理器。
processPacket()和loopPacket()的区别:
Tutorial中给出的说法为:
UsuallyyoumightwanttouseprocessPacket()becauseitsupportstimeoutandnon_blockingmode,whileloopPacket()doesn't.
可是,processPacket()和loopPacket()两个方法明明都是通过回调方法实现的,回调方法使用监听器模型,不就是在某个模块被调用的时刻不确定,才使用的嘛?如果是这样,那么根本就没有block存在啊?此处还请高手指点。
另外,自己做的测试中:使用loopPacket()的时候,会一直有回调,但是使用processPacket()程序直接执行完就结束了,对捕捉器设置了nonblock为flase也没用?
3.2.主动获取。
通过捕获器的getPacket() 可以主动的,一个数据包一个数据包的获取。
比较:
主动获取,可以每次需要处理数据包的时候,自己去主动获取。然后写出处理逻辑。但是因为不知道何时去产生数据包,而一直去调用getPacket()的话,无疑效率是很低的。(主动获取,不管有没有包,都会一直执行循环去获取)
通过回调方法,可以在产生需要的数据包时,调用我们的处理逻辑,无疑更优美。
五。使用Jpcap能做的事
1.Jpcap是直接抓取经过数据链路层的数据包。因此可以自己写IP数据包直接发送给数据链路层。
2.Jpcap会对抓取到的数据包进行一定程序的解析,根据数据包内容,将数据包封装为对应的对象()。
3.根据用户设定的信息,过滤数据包(其实就是在解析的时候,对不需要的数据直接丢弃,不解析)
4.Jpcap只是直接从数据链路层上读取数据,并向数据链路层中发送数据,因此,Jpcap并不能操作其他程序从数据链路层中读数据或者向网卡中发送数据。(IP层协议程序)
因此,我们可以使用Jpcap:
1.监控网络内容
2.自定义传输层乃至网络层网络协议(net包中,我们只能自定义引用此协议)
正在进行:使用Jpcap,进行ARP欺骗,从而使整个子网的IP包都发给我,于是,可以监控整个局域网。
AVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点,jPcap是一个可以让java工作在链路层的类库;当然,它底层还是使用了本机API通过Jini调用,在javaAPI中得到数据。JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用wincap/libpcap,而给JAVA语言提供一个公共的接口,从而实现了平台无关性。
展开内容
9.1/76.4M
数字人民币APP是中国人民银行数字货币研究所开发的官方服务平台,提供数字人民币个人钱包的开通与管理、数字人民币的兑换与流通服务。新用户注册十分便捷,无需输入姓名...
8.0/551.2M
玩哈哈字体管理器是一款免费的字体管理软件,该软件可以方便的安装卸载字体。另外服务器上提供了大量免费的字体使用,有着15000种字体,18G字体资源不断更新,...
8.8/1,030.5M
电信大小鱼卡目前套餐最便宜同时送的流量也是最多的,如果想挑选一个自己喜欢的手机好,筑梦电信鱼卡轻量化扫描器支持全国免费扫描,支持各种号段的选择!筑梦电信鱼卡轻量...
8.8/1,484.4M
我爱吉他app是一款吉他弹奏软件,模拟真实的吉他弦,用手指就可以弹奏出美妙的音乐,并且支持录音功能,用来学习吉他非常的不错。我爱吉他app怎么用...
8.9/1,847.2M
这是一款非常好用的购物省钱工具,在这里都是先领券再购物,找到更多的优惠途径,支持淘宝,天猫,拼多多等等电商平台,全国包邮服务!软件介绍兔兔拼购APP是一款购物省...
8.5/154.0M
JetBrainsRubyMine2018.3.5x64是一款全新的为Ruby和Rails开发者准备的IDE,软件建立在IntellJIDEA平台之上,提供所有...
9.6/361.3M
本节内容东坡小编为大家整理带来的是一份免费版手绘字符风格PPT模板,该模板以黄色作为背景,以红色和黑色作为点缀,以下有关于该ppt模板的图样,如果你需要一份这样...
9.1/1,718.5M
你还为怎么制作立体纸模型而烦恼吗?今天小编为你带来一款可以轻松制作立体纸模型的软件——PepakuraDesigner,相信会对你有所帮助哦!PepakuraD...
8.2/1,537.5M
心遇app最新版本是一款非常好用的手机在线社交软件,一般又称心遇聊天软件、网易心遇app,这是一个基于真实的开放性移动社交应用,全新的界面,海量有趣真实的用户,...
8.0/676.4M
管友服装销售管理软件将助您轻轻松松做好服装销售管理工作,软件可以帮助用户快速的完成相关的销售功能,非常的给力!软件简介管友服装销售软件是一款专为服装行业开发的,...
9.3/616.2M
前段时间许多照片都非常流行粒子效果,为了更好的帮助用户制作出这种效果,小编为你提供PS飞溅粒子特效动作插件,导入到ps中之后就能让你的图片看起来更加有艺术感,操...
8.6/1,040.7M
今天小编和大家分享的是一个年画图片大全,具体为2015年红色喜庆羊年吉祥年画模板素材,psd分层高清版,希望这个羊年年画图片,年画福字大家会喜欢,有需要的朋友可...
7.6/1,688.3M
王者之光手游是一款最新的动作冒险类游戏,游戏拥有高清的画面,精彩的剧情玩法,玩家在游戏中将有多重职业选择,你可以和好友组队一起刷副本,也可以独自修仙!游戏介绍《...
9.5/289.8M
CyberArticle(网文快捕)是一款知识管理软件,主要致力于网页的保存和后期管理。CyberArticle(网文快捕)主要功能,就是收集和整理网页。利用C...
7.7/1,032.0M
天涯明月刀内测用户预约检测器,只要成功检测可以获得300天积点和一个小星星,集齐一定数量的小星星就可以兑换激活码了。想玩这款游戏的玩家,千万不要错过了。天涯明月...
9.4/1,188.9M
LastOneWinner是一款生存类手机游戏,小伙伴们需要进行躲避并且进行战斗的小游戏,需要小伙伴们充分的进行观察周围进行躲避,还需要小伙伴们需找装备来武装自...
9.5/442.5M
优渥app是一款非常优质的身体健康软件,这款软件中拥有着大量的关于健康管理的功能,用户们通过这款软件是可以很好的管理自己的身体健康的,而且这款软件中的各种功能都...
7.9/1,095.2M
优化啦客户信息收集器是一款客户资料自动收集工具,准确全面采集客户名称、电话、手机、邮箱、QQ、联系人、地址、网址等信息,自动区分城市。客户信息收集器是一款功能强...
7.5/1,407.7M
视频转换、视频剪切、视频合并、视频转GIF等功能,支持QLV转MP4,QSV转MP4,KUX转MP4,支持手机视频与电脑视频格式互转,方便快捷风云MP4转换器(...
8.3/372.4M
为了防止不良软件扫描用户使用痕迹、窥视用户隐私信息,瑞星隐私痕迹清理工具将全方位清理FlashCookie、浏览器cookie、上网历史记录等痕迹,让你的电脑“...
9.5/1,434.9M
猎聘是一个为广大用户提供求职招聘的官方手机平台,在这里我们可以是求职者,在这里制作自己的简历,寻找自己心仪的工作岗位,快速申请;也可以是企业招人,直接发布自己的...
9.2/1,654.3M
经常会遇到压缩包太大不让上传的情况,我们需要将压缩包变小,rarzip压缩包分割工具可以帮你解决这一问题!需要的网友可以来下载!rarzip压缩包分割工具怎么用...
8.0/1,811.7M
叫我修吧app是一款提供维修服务平台,用户家里的家电、家政、家具安装等需要服务可以通过平台下单,专业的技术人员就会上门服务,如果你不满意支持申诉返修,实实在在的...
7.8/1,267.9M
小帮手开挂神器香肠派对是一款专为香肠派对设置的手游辅助软件,这里的功能非常之多,且真实实用,帮助你完成所需要的各种辅助,简简单单拿人头,轻轻松松吃到鸡,感兴趣的...
9.4/1,664.3M
星辰逗比表情制作工具是一款可以自定义文字的表情包制作工具,内附上千张搞笑图片,制作出各种带文字的逗比表情图片,自动生成搞笑图片,可以任性的和别人斗图了!星辰逗比...