katnip.controllers.server.vmware module

class katnip.controllers.server.vmware.VMWareController(name, vmrun, vmx, background=True, logger=None, snap_name=None)

Bases: kitty.controllers.base.BaseController

This is a Base vmware Controler.To use this VMWareController you should reference this class and implement is_victim_alive function.

Example:
class MyVMWareController(VMWareController):
    def __init__(self, name, vmrun, vmx, host, port, background=True,
                 logger=None, snap_name=None):
        super(MyVMWareController, self).__init__(name, vmrun, vmx,
                                                 background=background,
                                                 logger=logger,
                                                 snap_name=snap_name)
        self._host = host
        self._port = port

    def is_victim_alive(self):
        # SYN check
        self.active = False
        try:
            self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            self.s.settimeout(1)
            self.s.connect((self._host, self._port))
            self.s.close()
            self.active = True
        except Exception:
            return self.active
        return self.active


controller = MyVMWareController('VMWare Controller', vmrun='/path/to/vmrun',
                                vmx='/path/to/vmx', host='Target_IP',
                                port=Target_port, background=True,
                                snap_name='Snapshot name')
__init__(name, vmrun, vmx, background=True, logger=None, snap_name=None)
Parameters:
  • name – name of the object (default: None)
  • vmrun – path of vmrun
  • vmx – path of the vmx file or vm machine folder
  • background – runing vm at background (default: True)
  • logger – logger for the controller (default: None)
  • snap_name – Snapshot name to revert to on restart (default: None)
Example:
controller = VMWareController('VMWare Controller', vmrun='/path/to/vmrun',
              vmx='/path/to/vmx', background=True,
              snap_name='Snapshot name')
post_test()
pre_test(test_number)
setup()
teardown()