用Scapy拦截

问题描述 投票:0回答:1

我尝试开发一个MITM攻击工具,首先尝试arp中毒,然后嗅探和过滤特定数据包(两者都用scapy)如果与我的过滤器匹配我需要动态改变它,所以,创建一个这样的副本数据包然后操纵TCP数据并发送它。但最后一步不起作用。它是否正确操作复制数据包?

    from netfilterqueue import NetfilterQueue
    from scapy.all import *
    from scapy.error import Scapy_Exception
    import os
    import sys
    import threading
    import signal

    def Inspector (packet):
        if packet[TCP].payload :
            tcp_data = str(packet[TCP].payload)

            if 'Open' in tcp_data:
                packet_data = tcp_data.split('(')
                a= copy.deepcopy(packet)                                                        # First Copy The packet
                packet.drop()                                                                           # Second Drop it
                if 'Up' in tcp_data :
                    payload_O = packet_data[0] + '(' + 'Down//inject'
                    a[TCP].data = payload_O
                    send(a)
            else :
                packet.accept()

    def  main():
        try:
            print '[*] Starting Queue '
            nfqueue.run_socket()
            sniff(filter="tcp port 2626", prn=inspector, store=0)

    if __name__ == "__main__":
        main()
python python-2.7 scapy man-in-the-middle
1个回答
0
投票

使用scapy拦截数据包是不可能的。您的代码可能会执行的操作是按原始数据包发送另一个数据包。

创建MITM工具的最佳方法是ARP中毒。您可以查看scapy教程,例如:

当然,您的工具仅用于安全目的,因为您知道此类实践是非法的

© www.soinside.com 2019 - 2024. All rights reserved.