summaryrefslogtreecommitdiffstats
path: root/scripts/stl/syn_attack_sample.yaml
blob: c5734e43f98818477484ad45b6b3cb831791cbcf (plain)
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
### Single stream UDP packet, 64B ###
#####################################
- name: udp_64B
  stream:
    self_start: True
    packet:
      binary: stl/syn_packet.pcap  # pcap should not include CRC
    mode:
      type: continuous
      pps: 100
    rx_stats: []

    # program generate 4 random numbers and write them to ip.src/ip.dst/tcp.src_port/tcp.dest_port
    vm: 
       instructions: [
          #define 4 bytes random ip_src
           {     "type"  : "flow_var",   # name of the command 
                 "name"  : "ip_src",    
                 "op"    : "random",

                 "init_value"   : 0, 
                 "min_value"    : 1,  
                 "max_value"    : 1000000,  # max ip 16.0.0.254
                 "size"         : 4
               },


           {     "type"  : "flow_var",   
                 "name"  : "ip_dst",   
                 "op"    : "random",

                 "init_value"   : 0, 
                 "min_value"    : 1,  
                 "max_value"    : 1000000, 
                 "size"         : 4
               },

           {     "type"  : "flow_var",   # name of the command 
                 "name"  : "port_src",    
                 "op"    : "random",

                 "init_value"   : 0, 
                 "min_value"    : 1025,  
                 "max_value"    : 65000,  
                 "size"         : 2    #size in bytes
               },

           {     "type"  : "flow_var",   # name of the command 
                 "name"  : "port_dst",    
                 "op"    : "random",

                 "init_value"   : 0, 
                 "min_value"    : 1025,  
                 "max_value"    : 65000,  
                 "size"         : 2    #size in bytes
               },


               {
                  "type" : "write_flow_var", # command name 
                  "name" : "ip_src",         # varible to write     
                  "add_value" : 0x10000000,          # 16.0.0.0 is src base
                  "is_big_endian" : true,   # write as big edian 
                  "pkt_offset" : 26,        # write tuple_gen.port into udp.src_port
               },

               {
                  "type" : "write_flow_var", # command name 
                  "name" : "ip_dst",         # varible to write     
                  "add_value" : 0x40000000,          # 16.0.0.0 is src base
                  "is_big_endian" : true,   # write as big edian 
                  "pkt_offset" : 30,        # write tuple_gen.port into udp.src_port
               },

               {
                  "type" : "fix_checksum_ipv4", # fix ipv4 header checksum 
                  "pkt_offset" : 14,          # offset of ipv4 header 
                  
               },
               
               {
                  "type" : "write_flow_var", # command name 
                  "name" : "port_src",         # varible to write     
                  "add_value" : 0,          # 16.0.0.0 is src base
                  "is_big_endian" : true,   # write as big edian 
                  "pkt_offset" : 34,        # write tuple_gen.port into udp.src_port
               },

               {
                  "type" : "write_flow_var", # command name 
                  "name" : "port_dst",         # varible to write     
                  "add_value" : 0,          
                  "is_big_endian" : true,   # write as big edian 
                  "pkt_offset" : 36,        # write tuple_gen.port into udp.src_port
               }
           ]