是否有 Python 库可以模拟来自不同地址的网络流量

Posted

技术标签:

【中文标题】是否有 Python 库可以模拟来自不同地址的网络流量【英文标题】:Is there a Python library than can simulate network traffic from different addresses 【发布时间】:2010-09-29 15:58:55 【问题描述】:

是否有一个 python 库可以让我从不同的源地址和端口向机器发送 UDP 数据包(发送到本地主机是可以的)?我记得有一个,但现在找不到了。

【问题讨论】:

【参考方案1】:

您可以使用 Scapy 库来欺骗 IP 地址。

这是来自Packet Wizardry: Ruling the Network with Python的示例:

#!/usr/bin/env python
import sys
from scapy import *
conf.verb=0

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。 数据包将被内核丢弃或被 NAT/FIREWAL 过滤或被 ISP 杀死,但您的回答非常好。 这基本上对我有用,但我需要from scapy.all import *

以上是关于是否有 Python 库可以模拟来自不同地址的网络流量的主要内容,如果未能解决你的问题,请参考以下文章

如何在运行时确定共享库中全局变量的地址范围?

python网络编程之TCP编程

ipaddress库:Python中网络地址的处理

ipaddress库:Python中网络地址的处理

是否可以在网络上的python中集成机器学习算法

是否有一个统一的 python 库来使用不同的协议传输文件