parent
755fd9253c
commit
9396024bd7
@ -0,0 +1,32 @@ |
||||
// Copyright (c) 2020 Tailscale Inc & AUTHORS All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build windows freebsd openbsd darwin,amd64
|
||||
|
||||
package portlist |
||||
|
||||
import ( |
||||
"fmt" |
||||
"strings" |
||||
|
||||
exec "tailscale.com/tempfork/osexec" |
||||
) |
||||
|
||||
func listPortsNetstat(arg string) (List, error) { |
||||
exe, err := exec.LookPath("netstat") |
||||
if err != nil { |
||||
return nil, fmt.Errorf("netstat: lookup: %v", err) |
||||
} |
||||
output, err := exec.Command(exe, arg).Output() |
||||
if err != nil { |
||||
xe, ok := err.(*exec.ExitError) |
||||
stderr := "" |
||||
if ok { |
||||
stderr = strings.TrimSpace(string(xe.Stderr)) |
||||
} |
||||
return nil, fmt.Errorf("netstat: %v (%q)", err, stderr) |
||||
} |
||||
|
||||
return parsePortsNetstat(string(output)), nil |
||||
} |
||||
Loading…
Reference in new issue