docs: def update(self, data):
          """Update info about a network interface according
          to a given dictionary. Such data is provided by get_windows_if_list
          """
          self.data = data
          self.name = data['name']
          self.description = data['description']
          self.win_index = data['win_index']
          self.guid = data['guid']
          self.mac = data['mac']
          self.ipv4_metric = data['ipv4_metric']
          self.ipv6_metric = data['ipv6_metric']
          self.ips = data['ips']
          if 'invalid' in data:
              self.invalid = data['invalid']
          # Other attributes are optional
          self._update_pcapdata()
  
          try:
              # Npcap loopback interface
              if conf.use_npcap:
                  pcap_name_loopback = _get_npcap_config("LoopbackAdapter")
                  if pcap_name_loopback:  # May not be defined
                      guid = _pcapname_to_guid(pcap_name_loopback)
                      if self.guid == guid:
                          # https://nmap.org/npcap/guide/npcap-devguide.html
                          self.mac = "00:00:00:00:00:00"
                          self.ip = "127.0.0.1"
                          return
          except KeyError:
              pass
  
          try:
              self.ip = next(x for x in self.ips if ":" not in x)
          except StopIteration:
              pass
  
          try:
              # Windows native loopback interface
              if not self.ip and self.name == scapy.consts.LOOPBACK_NAME:
                  self.ip = "127.0.0.1"
          except (KeyError, AttributeError, NameError) as e:
              print(e)