gpt4 book ai didi

python - Netfilterqueue 基本使用 Python

转载 作者:太空宇宙 更新时间:2023-11-03 11:51:14 26 4
gpt4 key购买 nike

我想充当代理,如果可能的话,我想管理来自第 2 层或第 3 层的接收数据包,我正在为此苦苦挣扎,最基本的东西我无法让它工作,我告诉你什么我这样做:

这是我的代码(proxda.py)

from netfilterqueue import NetfilterQueue

def print_and_accept(pkt):
print pkt
pkt.accept()

nfqueue = NetfilterQueue()
nfqueue.bind(1, print_and_accept)
try:
nfqueue.run()
except KeyboardInterrupt:
print

代码直接取自 python 文档:https://pypi.python.org/pypi/NetfilterQueue/0.3

这是我配置的iptable规则:

iptables -I INPUT -d 173.16.0.229 -j NFQUEUE --queue-num 1

想法是所有发送到 173.16.0.229 的流量都转到我的程序

这就是场景,非常简单:当我的程序 proxa.py 正在运行时,我从 173.16.0.236 ping 到 173.16.0.229,但我没有捕获到任何东西。

知道我在哪里失败以及如何调试它/让它工作吗?

提前谢谢你。

最佳答案

我问自己,问题出在 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.

注意最后一行,因为我们机器的所有 INPUT 流量都将进入 NFQUEUE,在我的情况下这是一场灾难,因为我通过 ssh 连接并且连接会中断。例如,我使用的是这条规则:

iptables -I OUTPUT -s 173.16.0.236 -p tcp --dport 80 -j NFQUEUE --queue-num 1

关于python - Netfilterqueue 基本使用 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27061981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com