在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: 不允許的操作)
求大神解釋啊啊
網卡要變換到 promisc 模式,需要 root 權限。你的 eclipse 在 user space 中跑的,所以衍生出來的 process 也自然
在 user space 中。解決方案:用 root (通過 sudo 指令或 su 指令都可以)來運行eclipse,或者將編譯好的文件,
指令行中 sudo java ... 這種方式跑。