python发送udp报文并修改源ip
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python发送udp报文并修改源ip相关的知识,希望对你有一定的参考价值。
python发送udp报文并修改源IP地址```
import socket
import struct
# 创建udp套接字
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 绑定源IP地址
s.bind(('192.168.0.1', 0))
# 设置报文信息
data = 'hello world!'
dst_addr = ('192.168.0.2', 80)
# 修改源IP地址
src_addr = ('192.168.0.3', 0)
s.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(src_addr[0]))
# 发送报文
s.sendto(data.encode('utf-8'), dst_addr)
``` 参考技术A 假设我有一个用 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)
以上是关于python发送udp报文并修改源ip的主要内容,如果未能解决你的问题,请参考以下文章