code: def connect(self, hostname=None, port=None):
          
          if hostname is not None:
              self.host = hostname
          conn = self._connect_hook(self.host, port)
          self.os_guesser.protocol_info(self.get_remote_version())
          self.auto_driver = driver_map[self.guess_os()]
          if self.get_banner():
              self.os_guesser.data_received(self.get_banner(), False)
          return conn
docs: Opens the connection to the remote host or IP address.
  
          :type  hostname: string
          :param hostname: The remote host or IP address.
          :type  port: int
          :param port: The remote TCP port number.