code: def network_stats(self):
          
          summary = {}
          crypto = set()
          akmsuite_types = {
              0x00: "Reserved",
              0x01: "802.1X",
              0x02: "PSK"
          }
          p = self.payload
          while isinstance(p, Dot11Elt):
              if p.ID == 0:
                  summary["ssid"] = plain_str(p.info)
              elif p.ID == 3:
                  summary["channel"] = ord(p.info)
              elif isinstance(p, Dot11EltCountry):
                  summary["country"] = plain_str(p.country_string[:2])
                  country_descriptor_types = {
                      b"I": "Indoor",
                      b"O": "Outdoor",
                      b"X": "Non-country",
                      b"\xff": "Ignored"
                  }
                  summary["country_desc_type"] = country_descriptor_types.get(
                      p.country_string[-1:]
                  )
              elif isinstance(p, Dot11EltRates):
                  summary["rates"] = p.rates
              elif isinstance(p, Dot11EltRSN):
                  if p.akm_suites:
                      auth = akmsuite_types.get(p.akm_suites[0].suite)
                      crypto.add("WPA2/%s" % auth)
                  else:
                      crypto.add("WPA2")
              elif p.ID == 221:
                  if isinstance(p, Dot11EltMicrosoftWPA) or \
                          p.info.startswith(b'\x00P\xf2\x01\x01\x00'):
                      if p.akm_suites:
                          auth = akmsuite_types.get(p.akm_suites[0].suite)
                          crypto.add("WPA/%s" % auth)
                      else:
                          crypto.add("WPA")
              p = p.payload
          if not crypto:
              if self.cap.privacy:
                  crypto.add("WEP")
              else:
                  crypto.add("OPN")
          summary["crypto"] = crypto
          return summary
docs: Return a dictionary containing a summary of the Dot11
          elements fields