问题描述
我想实现获取某个固定IP发来的所有的数据包,不管是那个端口发来的都要能得到,java编程如何实现?谢谢!!!!! 问题补充:我主要是不知道怎么写监听端的程序,那个IP的数据发往我的电脑的端口是未知的,小弟高分献上!!!! 问题补充:enet_java 写道
解决方案
winpcap不难的,因为有现成的东西可以调用其实你这个就是类似抓包工具,只不过你只要某些特定的包而已,就是抓包加过滤我做过类似的东西,就是java调用winpcap的,很简单jni实现java通过c++去调用winpcap的方法
解决方案二:
jpcap也用过不过我感觉没直接调用顺手呵呵,满足你的需求应该是没问题的
解决方案三:
使用c++来实现,也是需要接收端的端口是固定的。不过要是实现这个功能的话,最好还是使用C++来实现,性能有保证。不过这个要是自己用程序实现的话确实有难度,wireshark是专业的抓包工具,内部如何实现我也不是很了解。我认为可以重申一下需求的合理性,引导或者是改造一下需求,不知道可行性有多高?
解决方案四:
这个就很麻烦了,要用操作系统底层的方法,你要用jni封装c++,c++中监听操作系统所有网络数据包,然后返回给java,中间加个过滤ip就可以了
解决方案五:
要解决这个问题,至少要保证监听端得端口是固定的,然后固定IP只需要往这个端口上发送数据,不用关心固定IP发送数据的端口。
时间: 2024-10-07 05:01:48