python - 发送数据包并更改其源 IP

标签 python ip packet scapy

假设我有一个用 python 编写的应用程序来发送 ping 或电子邮件。如何使用 Scapy 等将已发送数据包的源 IP 地址更改为假 IP 地址?

假设分配给我的 eth0 的 IP 地址是 192.168.0.100。我的电子邮件应用程序将使用此 IP 发送消息。但是,我想在这个数据包准备好发送时对其进行操作,因此它的源 IP 不是 192.168.0.100,而是 192.168.0.101。

我想在不必实现 MITM 的情况下执行此操作。

最佳答案

您可以执行以下操作:

from scapy.all import *

A = '192.168.0.101' # spoofed source IP address
B = '192.168.0.102' # destination IP address
C = 10000 # source port
D = 20000 # destination port
payload = "yada yada yada" # packet payload

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

更多有趣的例子可以引用this tutorial .

关于python - 发送数据包并更改其源 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27448905/

相关文章:

python - AWS 代码管道,Python : Get current commit name being deployed

c - 来自外部 IP 地址的 Winsock2 连接

c# - 动态分隔符上的字符串拆分

python - 扭曲的 Python : Max Packet Size? 嵌入式 socket ?

python - 如何使用 boto 遍历 DynamoDB 表中的所有项目?

python - 使用 Python 和 BeautifulSoup 解析 HTML - 获取 <a> 标签内部和外部的文本

python 2.7 到 python 3.2 字符串格式错误

c - 套接字 - 从终端读取 IP 地址

header - 为 Arduino 以太网上传出的 UDP 数据报设置 IP 数据包的生存时间 (TTL)

c# - 防止数据包注入(inject)