【问题标题】:netfilterqueue problem when I start code?启动代码时出现 netfilterqueue 问题?
【发布时间】:2022-08-07 05:24:17
【问题描述】:

有人可以帮我吗?

我写了同样的代码:

从 netfilterqueue 导入 NetfilterQueue

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

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

nfqueue.unbind()

在按下运行按钮之前我写了

 iptables -I FORWARD -j NFQUEUE --queue-num 0 

我试图写 INPUT 和 OUTPUT 而不是 FORWARD;并更改--queue-num 1,2,3...

当我写 python3 net_cut.py 时没有任何反应,然后推送 CTRL + C 我收到一条消息:

^CTraceback (most recent call last):
  File \"PycharmProjects/net_cut/net_cut.py\", line 12, in <module>
    nfqueue.run()
KeyboardInterrupt

    标签: python python-3.x networking netfilter kali-linux


    【解决方案1】:

    将 --queue-num 0 更改为 1,如果这不起作用这里有一个完整的示例:

    sudo iptables -A OUTPUT -p icmp -j NFQUEUE --queue-num 1
    

    在您运行 iptables 的系统上,执行 ping -c 1 8.8.8,代码会将目标重写为 192.168.1.100 - 显然将该 ip 更改为网络中的某些机器并在到达接口上运行 tcpdumo icmp

    from scapy.all import *
    from netfilterqueue import NetfilterQueue
    
    def modify(packet):
        print("running")
        #pkt = IP(packet.get_payload())
        pkt = IP(packet.get_payload())
        if pkt.haslayer(ICMP):
            print("found icmp")
            pkt.dst = '192.168.1.100'
            print(pkt.dst)
    
            del pkt[IP].chksum
            #del pkt[TCP].chksum
            packet.set_payload(bytes(pkt))
        #packet.accept()
    
        packet.drop()
        send(pkt)
    
    nfqueue = NetfilterQueue()
    nfqueue.bind(1, modify)
    try:
        print("[*] waiting for data")
        nfqueue.run()
    except KeyboardInterrupt:
        pass
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-20
      • 2018-07-31
      • 1970-01-01
      • 2019-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多