c++ - 如何从 iptables 队列中的数据包中提取源端口号和目标端口号

标签 c++ linux network-programming iptables netfilter

我正在使用 libnetfilter_queue 库。但我无法找到在回调函数中提取端口号的方法。我有点新。非常感谢详细的帮助!

最佳答案

可以通过以下方式在回调函数中完成:

len = nfq_get_payload(nfa, &buffer);
src_port = *((unsigned short*) (buffer + 20));
dst_port = *((unsigned short*) (buffer + 22));

关于c++ - 如何从 iptables 队列中的数据包中提取源端口号和目标端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12673079/

相关文章:

Java:监听具有更多线程的单个端口与监听多个端口

c++ - c++ 中的引用是内存中的一个新位置(如指针)还是它所绑定(bind)的对象的同一个位置?

c++ - 为什么 cout << *s << endl 会产生段错误?

linux - QScrollBar 在编译到桌面和嵌入式 Linux 环境之间有区别

linux - 由于目录级别的权限问题,Spark 作业失败

linux - 使用nmap -sS和nmap -sT进行端口扫描的速度?

c++ - 我如何使用 C++ AMP 并行化以下循环?

c++ - 强制 CMake 将 MSVC 与 Ninja 结合使用

c - 多线程数组的段错误

ios - 更新到 Xcode7 后,我的应用程序无法连接到特定地址