我想在Kali linux的Qt中通过libpcap创建一个应用程序。我在windows&中创建了类似的应用程序确实有效。
我下载&安装libpcap。现在,Qt认识到pcap.h,但有些功能和常量不起作用。像:
pcap_open - PCAP_OPENFLAG_PROMISCUOUS - pcap_findalldevs_ex - PCAP_SRC_IF_STRING - _snprintf_s.
在此范围内未声明与'sth'类似的编译器错误。 我使用下面的标题,但高于错误apppear。
#define HAVE_REMOTE
#define WPCAP
#include <pcap.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
答案 0 :(得分:1)
添加 LIBS + = - lpcap 在.pro文件的末尾。它将解决问题。
答案 1 :(得分:1)
WinPcap添加了libpcap中不具备的一些API(libpcap的版本比最新的WinPcap版本所基于的版本更新的版本具有WinPcap中没有的API)。
pcap_open()
是其中一个API;它在libpcap中可用 NOT 。您必须使用pcap_open_live()
或在libpcap 1.x,pcap_create()
和pcap_activate()
中使用。
libpcap目前还不支持远程数据包捕获。
答案 2 :(得分:0)
我搜索过&amp;发现winpcap中的某些功能在libpcap中不起作用(正如Guy Harris所说)。
对于Linux中的Qt程序员,他们必须在.pro文件中添加以下代码:
LIBS += -L/usr/local/lib/ -lpcap