如何使用 qt c++ 管理来自本地计算机的网络流量
How to manage network traffic from local machine with qt c++
如何使用qt c++管理来自本地机器的网络流量?我找到了数据包捕获的解决方案,例如libpcap,但它们不能阻止或操纵流量。我需要创建类似于代理切换器的东西,但找不到正确的起点。有什么想法吗?
Qt不提供嗅探或阻止网络流量的方法。在Windows上,您可以使用WinPcap,它是libpcap的端口,并提供许多低级网络功能,包括您需要的功能,您可以从用户模式使用。WinPcap由一个驱动程序和一个库组成,用于轻松访问低级网络层。一些网络工具,如Wireshark,Nmap,Snort,ntop使用WinPcap。在 Linux 上,您可以使用 libPcap 嗅探网络数据包,但为了阻止,我认为您需要内核空间驱动程序或类似的东西。
Qt不提供过滤功能。要过滤 Linux 上的流量,您应该使用 iptables。
apt-get install iptables-dev
http://www.netfilter.org/projects/libnetfilter_queue/doxygen/group__Queue.html
选择数据包的决定后,必须通过调用 nfq_set_verdict() 或 nfq_set_verdict2() 来做出判断。判定决定数据包的命运,如下所示:
- NF_DROP丢弃了数据包
- NF_ACCEPT数据包通过,则继续迭代
- NF_STOLEN走了
- NF_QUEUE将数据包注入不同的队列(目标队列号位于判定的高 16 位中)
- NF_REPEAT再次迭代相同的循环
- NF_STOP接受,但不继续迭代
相关文章:
- 我的神经网络不起作用 [XOR 问题]
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 通过网络、跨平台传递std::变体是否安全
- 如何在MNIST上提高网络运行的准确性
- Active Directory:从网络服务帐户下运行的Windows服务调用ADsOpenObject时失败
- OpenCV 4.1.2 - 从网络摄像头获取帧并将其拆分
- 使用OpenCV和覆盆子上的多个网络摄像头拍摄延时摄影,出现多个V4L错误
- 神经网络不学习.卡在50%
- 如何绑定 C++ gRPC 客户端的网络接口
- 在本地网络中通过OpenCV(C++)实时流式传输图像
- 在本地网络中从外部计算机到计算机的连接
- 在网络C 上获取计算机的IP地址
- QT.如何使用QTNetwork在网络上查看其他计算机
- 通过网络直接从另一台计算机的内存中读取文件
- 同一网络中两台计算机之间的客户端-服务器应用程序(使用boost::asio)
- 每秒字符数,KBps,每秒千[位/字节],(计算机网络),如何正确计算
- 如何使用 qt c++ 管理来自本地计算机的网络流量
- 如何使用c++获取微软windows网络中的计算机名称列表