1

好的,这是原始代码,它工作正常。

if len(data) > 1 {
  var req StratumReq
  err = json.Unmarshal(data, &req)
  if err != nil {
    s.policy.ApplyMalformedPolicy(cs.ip)
    log.Printf("Malformed stratum request from %s: %v", cs.ip, err)
    return err
  }
}

但是,我想在 Ubuntu 16.04 中使用 ufw 来禁止 ip,而不只是打印错误。但是,我不太熟悉这种类型的编码来获得正确的语法来做到这一点。任何帮助,将不胜感激。它是用 .go 编写的

4

1 回答 1

0

您可以使用 exec执行命令

if err != nil {
    s.policy.ApplyMalformedPolicy(cs.ip)

    out, err := exec.Command(fmt.Sprintf("ufw deny from {%d} to any",cs.ip).Output()
    if err != nil {
        log.Fatal(err)
    }

    log.Printf("Malformed stratum request from %s: %v", cs.ip, err)
    return err
}
于 2017-07-31T07:58:43.970 回答