在ubuntu下用java基于jpcap写了一个获取网络数据IP数据包的程序,但是在eclipse中运行的时候报错如下:
java.io.IOException: wlp4s0: You don't have permission to capture on that device (socket: 不允许的操作)
at jpcap.JpcapCaptor.openDevice(Unknown Source)
at DispalyNetPacket.main(DispalyNetPacket.java:19)
启动失败: java.io.IOException: wlp4s0: You don't have permission to capture on that device (socket: 不允许的操作)
求大神解释啊啊

Jpcap编程获取网络IP数据包
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- hkvip 2016-11-17 14:54关注
网卡要变换到 promisc 模式,需要 root 权限。你的 eclipse 在 user space 中跑的,所以衍生出来的 process 也自然
在 user space 中。解决方案:用 root (通过 sudo 指令或 su 指令都可以)来运行eclipse,或者将编译好的文件,
指令行中 sudo java ... 这种方式跑。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报