example syn attack
authorHanoh Haim <[email protected]>
Thu, 4 Feb 2016 15:21:01 +0000 (17:21 +0200)
committerHanoh Haim <[email protected]>
Thu, 4 Feb 2016 15:21:01 +0000 (17:21 +0200)
scripts/stl/profiles/syn_attack.py [new file with mode: 0644]
scripts/stl/profiles/udp_rand_len_9k.py

diff --git a/scripts/stl/profiles/syn_attack.py b/scripts/stl/profiles/syn_attack.py
new file mode 100644 (file)
index 0000000..0df7a74
--- /dev/null
@@ -0,0 +1,66 @@
+import sys
+import os
+
+# Should be removed 
+# TBD fix this 
+CURRENT_PATH = os.path.dirname(os.path.realpath(__file__))
+API_PATH     = os.path.join(CURRENT_PATH, "../../api/stl")
+sys.path.insert(0, API_PATH)
+
+from scapy.all import *
+from trex_stl_api import *
+
+
+class STLS1(object):
+    """ attack 48.0.0.1 at port 80
+    """
+
+    def __init__ (self):
+        self.max_pkt_size_l3  =9*1024;
+
+    def create_stream (self):
+
+        # TCP SYN
+        base_pkt  = Ether()/IP(dst="48.0.0.1")/TCP(dport=80,flags="S")
+
+
+        # vm
+        vm = CTRexScRaw( [ CTRexVmDescFlowVar(name="ip_src", 
+                                              min_value="16.0.0.0", 
+                                              max_value="18.0.0.254", 
+                                              size=4, op="random"),
+
+                            CTRexVmDescFlowVar(name="src_port", 
+                                              min_value=1025, 
+                                              max_value=65000, 
+                                              size=2, op="random"),
+
+                           CTRexVmDescWrFlowVar(fv_name="ip_src", pkt_offset= "IP.src" ),
+
+                           CTRexVmDescFixIpv4(offset = "IP"), # fix checksum
+
+                           CTRexVmDescWrFlowVar(fv_name="src_port", 
+                                                pkt_offset= "TCP.sport") # fix udp len  
+
+                          ]
+                       )
+
+        pkt = STLPktBuilder(pkt = base_pkt,
+                            vm = vm)
+
+        return STLStream(packet = pkt,
+                         mode = STLTXCont())
+
+
+
+    def get_streams (self, direction = 0):
+        # create 1 stream 
+        return [ self.create_stream() ]
+
+
+# dynamic load - used for trex console or simulator
+def register():
+    return STLS1()
+
+
+
index 011e11c..56d8453 100644 (file)
@@ -16,7 +16,6 @@ class STLS1(object):
         self.max_pkt_size_l3  =9*1024;
 
     def create_stream (self):
-
         # pkt 
         p_l2  = Ether();
         p_l3  = IP(src="16.0.0.1",dst="48.0.0.1")