基本Netfilterqueue用法Python
我想充当一个代理,如果可能的话,我想管理来自第2层或第3层的接收数据包,我正在与之斗争,最基本的是,我无法让它工作,我告诉你我做什么: 这是我的代码(proxda.py) 代码直接取自python文档: 这是我配置的基本Netfilterqueue用法Python,python,network-programming,iptables,netfilter,Python,Network Programming,Iptables,Netfilter,我想充当一个代理,如果可能的话,我想管理来自第2层或第3层的接收数据包,我正在与之斗争,最基本的是,我无法让它工作,我告诉你我做什么: 这是我的代码(proxda.py) 代码直接取自python文档: 这是我配置的iptable规则: iptables -I INPUT -d 173.16.0.229 -j NFQUEUE --queue-num 1 这个想法是所有发送到173.16.0.229的流量都会进入我的程序 这就是场景,非常简单: 当我的程序proxa.py运行时,我执行从173.
iptable
规则:
iptables -I INPUT -d 173.16.0.229 -j NFQUEUE --queue-num 1
这个想法是所有发送到173.16.0.229的流量都会进入我的程序
这就是场景,非常简单:
当我的程序proxa.py运行时,我执行从173.16.0.236到173.16.0.229的ping操作,但不捕获任何内容
知道我在哪里失败了吗?知道如何调试它/让它工作吗
提前谢谢。我问自己,问题是关于iptables的规则,我的IP是173.16.0.236,我正在过滤173.16.0.229的传入流量。 只要改变一下:
iptables -I INPUT -d 173.16.0.229 -j NFQUEUE --queue-num 1
to: iptables -I OUTPUT -d 173.16.0.229 -j NFQUEUE --queue-num 1
or to : iptables -I INPUT -d 173.16.0.236 -j NFQUEUE --queue-num 1.
注意最后一行,因为我们机器的所有输入流量都将进入NFQUEUE,在我的情况下,这是一场灾难,因为我通过ssh连接,连接将中断。
例如,我使用的规则是:
iptables -I OUTPUT -s 173.16.0.236 -p tcp --dport 80 -j NFQUEUE --queue-num 1
iptables -I OUTPUT -s 173.16.0.236 -p tcp --dport 80 -j NFQUEUE --queue-num 1