You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
770 B
33 lines
770 B
#!/usr/bin/python3 |
|
|
|
import sys |
|
from scapy.all import * |
|
|
|
import checksum_from_scapy |
|
|
|
if __name__ == '__main__': |
|
iface = sys.argv[1] |
|
|
|
e = Ether(src="00:00:0a:00:00:03", dst='00:00:0a:00:00:01') |
|
|
|
i = IP(src = "10.0.0.1", dst = "10.1.1.1") |
|
u = UDP(dport=80, sport=80) |
|
d = "V4-OK" |
|
|
|
v6 = IPv6(src="2001:db8:1::a00:1", dst="2001:db8::1") |
|
|
|
pkg = e / i / u / d |
|
|
|
pkg_v6 = e / v6 / u / d |
|
|
|
packet_rebuild = pkg.__class__(str(pkg)) |
|
print("pkg = {}".format(pkg.__repr__())) |
|
print("checksum = {}".format(packet_rebuild[UDP].chksum)) |
|
|
|
v6_rebuild = pkg_v6.__class__(str(pkg_v6)) |
|
print("v6: {} - {}".format(v6_rebuild.__repr__(), v6_rebuild[UDP].chksum)) |
|
|
|
# checksum_from_scapy.checksum() |
|
|
|
|
|
sendp(pkg, iface=iface, verbose=True)
|
|
|