mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-12 11:01:15 +02:00
87 lines
1.8 KiB
Text
87 lines
1.8 KiB
Text
#compdef snoop
|
|
|
|
_snoop() {
|
|
local -a t_opt exp
|
|
|
|
t_opt=(
|
|
"r"\:"time relative to first packet"
|
|
"a"\:"absolute time"
|
|
"d"\:"delta time - time since receiving previous packet"
|
|
)
|
|
|
|
exp=(
|
|
"ether"
|
|
"ethertype"
|
|
"host"
|
|
"from"
|
|
"to"
|
|
"ip"
|
|
"ip6"
|
|
"arp"
|
|
"rarp"
|
|
"pppoe"
|
|
"pppoed"
|
|
"pppoes"
|
|
"vlan"
|
|
"vlan-id"
|
|
"broadcast"
|
|
"multicast"
|
|
"bootp"
|
|
"dhcp"
|
|
"dhcp6"
|
|
"apple"
|
|
"decnet"
|
|
"greater"
|
|
"less"
|
|
"udp"
|
|
"tcp"
|
|
"icmp"
|
|
"icmp6"
|
|
"ah"
|
|
"esp"
|
|
"net"
|
|
"port"
|
|
"rpc"
|
|
"zone"
|
|
"ldap"
|
|
"gateway"
|
|
"nofrag"
|
|
">"
|
|
">="
|
|
"<"
|
|
"<="
|
|
"="
|
|
"!="
|
|
"and"
|
|
"or"
|
|
"not"
|
|
"slp"
|
|
"sctp"
|
|
"ospf"
|
|
)
|
|
|
|
_arguments \
|
|
'-a[generate audio signal on receiving packets]' \
|
|
'-c[quit after capturing maxcount packets]:maxcount' \
|
|
'-d[capture packets from specified device]:device:_net_interfaces' \
|
|
'-i[display packets previously captured to file]:file:_files' \
|
|
'-n[use file as IP address-to-name mapping table]:file:_files' \
|
|
'-o[save captured packets to file]:file:_files' \
|
|
'-p[display one or more packets from captured file]:first packet number [ , last packet number]' \
|
|
'-q[do not display packet counter when capturing to file]' \
|
|
'-r[do not resolve IP addresses to names]' \
|
|
'-s[truncate each packet after snaplen bytes]:snaplen' \
|
|
'-t[time-stamp presentation]:time-stamp mode:(($t_opt))' \
|
|
'-C[list code generated from filter expression]' \
|
|
'-D[display number of packets dropped on the summary line]' \
|
|
'-N[create IP-address-to-name mapping table file (used with -i)]' \
|
|
'-I[capture packets from specified interface]:interface:_net_interfaces' \
|
|
'-P[capture packets in non-promiscuous mode]' \
|
|
'-S[display size of the entire link layer frame in bytes]' \
|
|
'-V[verbose summary mode]' \
|
|
'-v[verbose mode]' \
|
|
'-x[display offset and length of packet in HEX and ASCII]:offset [ , length]' \
|
|
'*:expression:(($exp))' \
|
|
}
|
|
|
|
_snoop "$@"
|