1+ import sys
2+
3+ from commsdsl_pcap_gen import *
4+
5+ def do_frame (id , payload ):
6+ prefix = struct .pack ('>B' , id )
7+ return prefix + payload
8+
9+ def pcap1 (f ):
10+ seq = 1000
11+ msg1_payload = struct .pack ('>BBIH' , 4 , 4 , 0 , 0xffff )
12+ msg1 = do_frame (1 , msg1_payload )
13+ header = commsdsl_create_ethernet_ip_tcp_headers (len (msg1 ), seq )
14+ commsdsl_write_packet (f , header + msg1 , time .time ())
15+
16+ def pcap2 (f ):
17+ seq = 2000
18+ msg2_payload = struct .pack ('>BBBHBH' , 1 , 1 , 2 , 1 , 2 , 1 )
19+ msg2 = do_frame (2 , msg2_payload )
20+ header = commsdsl_create_ethernet_ip_tcp_headers (len (msg2 ), seq )
21+ commsdsl_write_packet (f , header + msg2 , time .time ())
22+
23+ def pcap3 (f ):
24+ seq = 3000
25+ msg3_payload1 = struct .pack ('>BBHH' , 0 , 2 , 1 , 0xabcd )
26+ msg3_1 = do_frame (3 , msg3_payload1 )
27+ msg3_payload2 = struct .pack ('>BBH300sH' , 5 , 0xff , 300 , b'a' * 300 , 0xabcd )
28+ msg3_2 = do_frame (3 , msg3_payload2 )
29+ header = commsdsl_create_ethernet_ip_tcp_headers (len (msg3_1 ) + len (msg3_2 ), seq )
30+ commsdsl_write_packet (f , header + msg3_1 + msg3_2 , time .time ())
31+
32+ def main ():
33+ with open (sys .argv [1 ], 'wb' ) as f :
34+ commsdsl_write_pcap_header (f )
35+ pcap1 (f )
36+ pcap2 (f )
37+ pcap3 (f )
38+
39+ if __name__ == '__main__' :
40+ main ()
0 commit comments