title: Golang - get promiscuous mode status of network interfaces
body: <p>I use the following Go code to get some info about the network interfaces. Any suggestions on how I would be able to get the status of promiscuous mode for each interface?</p>
  
  <pre><code>type Iface struct {
    Name      string `json:"name"`
    Status    string `json:"status"`
    Multicast bool   `json:"multicast"`
    Broadcast bool   `json:"broadcast"`
  }
  
  func (c *InterfacesController) GetInterfaces() {
    interfaces, err := net.Interfaces()
  
    if err != nil {
      fmt.Println(err)
      return
    }
  
    var ifaceset []Iface
    var ifc Iface
  
    for _, i := range interfaces {
      ifc.Name = i.Name
      if strings.Contains(i.Flags.String(), "up") {
          ifc.Status = "UP"
      } else {
          ifc.Status = "DOWN"
      }
      if strings.Contains(i.Flags.String(), "multicast") {
          ifc.Multicast = true
      } else {
          ifc.Multicast = false
      }
      if strings.Contains(i.Flags.String(), "broadcast") {
          ifc.Broadcast = true
      } else {
          ifc.Broadcast = false
      }
      ifaceset = append(ifaceset, ifc)
    }
  }
  </code></pre>