vagd.virts.cogd =============== .. py:module:: vagd.virts.cogd Classes ------- .. autoapisummary:: vagd.virts.cogd.Cogd Module Contents --------------- .. py:class:: Cogd(binary: str, containerhome: str, cogd_type: str, lockfile: str, image: str = DEFAULT_IMAGE, user: str = DEFAULT_USER, forward: Optional[Dict[str, int]] = None, packages: Optional[List[str]] = None, symbols: bool = True, rm: bool = True, ex: bool = False, fast: bool = False, alpine: bool = False, **kwargs: Any) Bases: :py:obj:`vagd.virts.shgd.Shgd` | Container virtualization for pwntools :param binary: binary to execute :param containerhome: home directory of container runtime :param lockfile: lockfile of container runtime :param cogd_type: type of container tool :param image: docker base image :param user: name of user on docker container :param forward: Dictionary of forwarded ports, needs to follow docker api format: 'hostport/(tcp|udp)' : guestport :param packages: packages to install on the container :param symbols: additionally install libc6 debug symbols (also updates libc6) :param ex: if experimental features, e.g. alpine, gdbserver should be enabled :param rm: remove container after exit :param alpine: if the conainter is alpine (also autochecks image name) :param fast: mounts libs locally for faster symbol extraction (experimental) NOT COMPATIBLE WITH ALPINE :param kwargs: parameters to pass through to super .. py:attribute:: _image :type: str .. py:attribute:: _name :type: str .. py:attribute:: _user :type: str .. py:attribute:: _port :type: int .. py:attribute:: _packages :type: List[str] .. py:attribute:: _client :type: docker.DockerClient | podman.PodmanClient .. py:attribute:: _id :type: str .. py:attribute:: _containerdir :type: str .. py:attribute:: _dockerfile :type: str .. py:attribute:: _has_not_apt :type: bool .. py:attribute:: _rm :type: bool .. py:attribute:: _ex :type: bool .. py:attribute:: _forward :type: Dict[str, int] .. py:attribute:: _symbols :type: bool .. py:attribute:: _template :type: str .. py:attribute:: _containerhome :type: str .. py:attribute:: _lockfile :type: str .. py:attribute:: _type :type: str .. py:attribute:: VAGD_PREFIX :value: 'vagd-' .. py:attribute:: DEFAULT_USER :value: 'vagd' .. py:attribute:: DEFAULT_PORT :value: 2222 .. py:attribute:: DEFAULT_IMAGE :value: 'ubuntu:noble' .. py:attribute:: DEFAULT_PACKAGES :value: ['gdbserver', 'python3', 'sudo', 'openssh-server'] .. py:method:: _create_dockerfile() .. py:method:: _create_container_instance() .. py:method:: _build_image() .. py:method:: _vm_setup() -> None pass .. py:method:: _vm_create() .. py:method:: _client_setup() -> Any :abstractmethod: