fix: udp handling and ipv4 and ipv6 filtering
This commit is contained in:
22
cmd/stats.go
22
cmd/stats.go
@@ -44,6 +44,10 @@ var (
|
||||
statsInterval time.Duration
|
||||
statsCount int
|
||||
statsNoHeaders bool
|
||||
statsTCP bool
|
||||
statsUDP bool
|
||||
statsListen bool
|
||||
statsEstab bool
|
||||
)
|
||||
|
||||
var statsCmd = &cobra.Command{
|
||||
@@ -70,6 +74,18 @@ func runStatsCommand(args []string) {
|
||||
filters.IPv4 = ipv4
|
||||
filters.IPv6 = ipv6
|
||||
|
||||
// apply shortcut flags
|
||||
if statsTCP && !statsUDP {
|
||||
filters.Proto = "tcp"
|
||||
} else if statsUDP && !statsTCP {
|
||||
filters.Proto = "udp"
|
||||
}
|
||||
if statsListen && !statsEstab {
|
||||
filters.State = "LISTEN"
|
||||
} else if statsEstab && !statsListen {
|
||||
filters.State = "ESTABLISHED"
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
defer cancel()
|
||||
|
||||
@@ -297,4 +313,10 @@ func init() {
|
||||
statsCmd.Flags().BoolVar(&statsNoHeaders, "no-headers", false, "Omit headers for table/csv output")
|
||||
statsCmd.Flags().BoolVarP(&ipv4, "ipv4", "4", false, "Only show IPv4 connections")
|
||||
statsCmd.Flags().BoolVarP(&ipv6, "ipv6", "6", false, "Only show IPv6 connections")
|
||||
|
||||
// shortcut filters
|
||||
statsCmd.Flags().BoolVarP(&statsTCP, "tcp", "t", false, "Show only TCP connections")
|
||||
statsCmd.Flags().BoolVarP(&statsUDP, "udp", "u", false, "Show only UDP connections")
|
||||
statsCmd.Flags().BoolVarP(&statsListen, "listen", "l", false, "Show only listening sockets")
|
||||
statsCmd.Flags().BoolVarP(&statsEstab, "established", "e", false, "Show only established connections")
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
[1m[94m"uid"[0m[1m:[0m [33m0[0m[1m,[0m
|
||||
[1m[94m"proto"[0m[1m:[0m [32m"udp"[0m[1m,[0m
|
||||
[1m[94m"ipversion"[0m[1m:[0m [32m""[0m[1m,[0m
|
||||
[1m[94m"state"[0m[1m:[0m [32m"CONNECTED"[0m[1m,[0m
|
||||
[1m[94m"state"[0m[1m:[0m [32m"LISTEN"[0m[1m,[0m
|
||||
[1m[94m"laddr"[0m[1m:[0m [32m"0.0.0.0"[0m[1m,[0m
|
||||
[1m[94m"lport"[0m[1m:[0m [33m53[0m[1m,[0m
|
||||
[1m[94m"raddr"[0m[1m:[0m [32m""[0m[1m,[0m
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[32;1mPID PROCESS USER PROTO STATE LADDR LPORT RADDR RPORT[0;22m
|
||||
1 tcp-server [36mtcp[0m [33mLISTEN[0m 0.0.0.0 http 0
|
||||
2 udp-server [35mudp[0m [37mCONNECTED[0m 0.0.0.0 domain 0
|
||||
2 udp-server [35mudp[0m [33mLISTEN[0m 0.0.0.0 domain 0
|
||||
3 unix-app [37munix[0m [37mCONNECTED[0m /tmp/test.sock 0 0
|
||||
|
||||
2
cmd/testdata/golden/udp_filter_json.golden
vendored
2
cmd/testdata/golden/udp_filter_json.golden
vendored
@@ -7,7 +7,7 @@
|
||||
[1m[94m"uid"[0m[1m:[0m [33m0[0m[1m,[0m
|
||||
[1m[94m"proto"[0m[1m:[0m [32m"udp"[0m[1m,[0m
|
||||
[1m[94m"ipversion"[0m[1m:[0m [32m""[0m[1m,[0m
|
||||
[1m[94m"state"[0m[1m:[0m [32m"CONNECTED"[0m[1m,[0m
|
||||
[1m[94m"state"[0m[1m:[0m [32m"LISTEN"[0m[1m,[0m
|
||||
[1m[94m"laddr"[0m[1m:[0m [32m"0.0.0.0"[0m[1m,[0m
|
||||
[1m[94m"lport"[0m[1m:[0m [33m53[0m[1m,[0m
|
||||
[1m[94m"raddr"[0m[1m:[0m [32m""[0m[1m,[0m
|
||||
|
||||
Reference in New Issue
Block a user