Add 802.1x protocols from Axel Belinfante.
Clean up help output.
[rsc] --rw-rw-r-- M 667885 glenda sys 4054 Oct 1 11:11 sys/man/8/snoopy
/n/sourcesdump/2005/1001/plan9/sys/man/8/snoopy:4,21 -
/n/sourcesdump/2005/1002/plan9/sys/man/8/snoopy:4,27
.SH SYNOPSIS
.B snoopy
[
- .B -?stdCp
+ .B -CDdpst
] [
- .B -f
- .I filter-expression
- ] [
.B -N
.I n
] [
+ .B -f
+ .I filter-expression
+ ] [
.B -h first-header
] [
packet-file
]
+ .PP
+ .B snoopy
+ .B -?
+ [
+ .I proto...
+ ]
.SH DESCRIPTION
.PP
.I Snoopy
/n/sourcesdump/2005/1001/plan9/sys/man/8/snoopy:33,46 -
/n/sourcesdump/2005/1002/plan9/sys/man/8/snoopy:39,52
contains the dump of any contained data. For example, a
.SM BOOTP
packet would look like:
- .sp
+ .IP
.EX
324389 ms
- ether(s=0000929b1b54 d=ffffffffffff pr=0800 ln=342)
- ip(s=135.104.9.62 d=255.255.255.255 id=5099 frag=0000...
- udp(s=68 d=67 ck=d151 ln= 308)
- bootp(t=Req ht=1 hl=16 hp=0 xid=217e5f27 sec=0 fl=800...
- dhcp(t=Request clientid=0152415320704e7266238ebf01030...
+ ether(s=0000929b1b54 d=ffffffffffff pr=0800 ln=342)
+ ip(s=135.104.9.62 d=255.255.255.255 id=5099 frag=0000...
+ udp(s=68 d=67 ck=d151 ln= 308)
+ bootp(t=Req ht=1 hl=16 hp=0 xid=217e5f27 sec=0 fl=800...
+ dhcp(t=Request clientid=0152415320704e7266238ebf01030...
.EE
.PP
The binary format consists of:
/n/sourcesdump/2005/1001/plan9/sys/man/8/snoopy:54,94 -
/n/sourcesdump/2005/1002/plan9/sys/man/8/snoopy:60,106
Filters are expressions specifying protocols to be traced
and specific values for fields in the protocol headers.
The grammar is:
- .sp
+ .IP
.EX
- expr : protocol
- | field '=' value
- | protocol '(' expr ')'
- | '(' expr ')'
- | expr '||' expr
- | expr '&&' expr
- | '!' expr
+ \fIexpr\fP: \fIprotocol\fP
+ | \fIfield\fP '=' \fIvalue\fP
+ | \fIprotocol\fP '(' \fIexpr\fP ')'
+ | '(' \fIexpr\fP ')'
+ | \fIexpr\fP '||' \fIexpr\fP
+ | \fIexpr\fP '&&' \fIexpr\fP
+ | '!' \fIexpr\fP
.EE
.PP
- The values for <protocol> and <field> can
+ The values for
+ .I protocol
+ and
+ .I field
+ can
be obtained using the
.B -?
- option. It will list each known protocol,
+ option. With no arguments, it lists the known protocols.
+ Otherwise it prints, for each protocol specified,
which subprotocols it can multiplex to,
and which fields can be used for filtering.
For example, the listing for ethernet is currently:
- .sp
+ .IP
.EX
- ether's filter attr:
- s - source address
- d - destination address
- a - source|destination address
- t - type
+ ether's filter attributes:
+ s - source address
+ d - destination address
+ a - source|destination address
+ sd - source|destination address
+ t - type
ether's subprotos:
- ip
- arp
- rarp
- ip6
- pppoe_disc
- pppoe_sess
+ 0x0800 ip 0x8863 pppoe_disc
+ 0x0806 arp 0x8864 pppoe_sess
+ 0x0806 rarp 0x888e eapol
+ 0x86dd ip6
.EE
.PP
- The format of <value> depends on context. In general,
+ The format of
+ .I value
+ depends on context. In general,
ethernet addresses are entered as a string of hex
digits; IP numbers in the canonical `.' format for v4 and `:' format
for v6; and ports in decimal.
/n/sourcesdump/2005/1001/plan9/sys/man/8/snoopy:96,125 -
/n/sourcesdump/2005/1002/plan9/sys/man/8/snoopy:108,140
.IR Snoopy 's
options are:
.TP
- .B -t
- input is a binary trace file. The default assumes
- a packet device, one packet per read.
- .TP
- .B -d
- output will be a binary trace file. The default is
- human readable.
- .TP
- .B -s
- force one output line per packet. The
- default is multiline.
- .TP
.B -C
- compute correct checksums and if doesn't match
- the contained one, add a field
+ compute the correct checksum for each packet;
+ on mismatch, add a field
.B !ck=\fIxxxx\fP
where
.I xxxx
is the correct checksum.
.TP
+ .B -D
+ output will be a binary trace file in Unix pcap format.
+ .TP
+ .B -d
+ output will be a binary trace file.
+ .TP
+ .B -t
+ input is a binary trace file as generated with the
+ .B -d
+ option.
+ .TP
.B -p
do not enter promiscuous mode. Only packets to
this interface will be seen.
.TP
+ .B -s
+ force one output line per packet. The
+ default is multiline.
+ .TP
.B -N
dump
.I n
/n/sourcesdump/2005/1001/plan9/sys/man/8/snoopy:137,151 -
/n/sourcesdump/2005/1002/plan9/sys/man/8/snoopy:152,166
The default is
.IR ether .
.SH EXAMPLES
- the following would display only
+ To display only
.SM BOOTP
and
.SM ARP
packets:
- .sp
+ .IP
.EX
% snoopy -f 'arp || bootp'
- after optimize: ether( arp || ip( udp( bootp ) ) )
+ after optimize: ether(arp || ip(udp(bootp)))
.EE
.PP
The first line of output shows the completed filter
/n/sourcesdump/2005/1001/plan9/sys/man/8/snoopy:157,163 -
/n/sourcesdump/2005/1002/plan9/sys/man/8/snoopy:172,178
.PP
To save all packets between 135.104.9.2 to 135.104.9.6 and
later display those to/from TCP port 80:
- .sp
+ .IP
.EX
% ramfs
% snoopy -df 'ip(s=135.104.9.2 && d=135.104.9.6) ||\\
/n/sourcesdump/2005/1001/plan9/sys/man/8/snoopy:172,177 -
/n/sourcesdump/2005/1002/plan9/sys/man/8/snoopy:187,192
.SH SOURCE
.B /sys/src/cmd/ip/snoopy
.SH BUGS
- At the moment it only dumps ethernet packets because there's
- no device to get IP packets without the media header. This will
- be corrected soon.
+ .I Snoopy
+ only dumps ethernet packets, because there's
+ no device to get IP packets without a media header.
[rsc] --rw-rw-r-- M 667885 glenda sys 1914 Oct 1 11:12 sys/src/cmd/ip/snoopy/arp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/arp.c:112,117 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/arp.c:112,118
p_filter,
p_seprint,
nil,
+ nil,
p_fields,
defaultframer,
};
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/arp.c:122,127 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/arp.c:123,129
p_compile,
p_filter,
p_seprint,
+ nil,
nil,
p_fields,
defaultframer,
[rsc] --rw-rw-r-- M 667885 glenda sys 3440 Oct 1 11:12 sys/src/cmd/ip/snoopy/bootp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/bootp.c:171,176 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/bootp.c:171,177
p_filter,
p_seprint,
p_mux,
+ "%#.8lux",
p_fields,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 1915 Oct 1 11:12 sys/src/cmd/ip/snoopy/dat.h
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/dat.h:18,23 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/dat.h:18,24
int (*filter)(Filter*, Msg*);
int (*seprint)(Msg*);
Mux* mux;
+ char* valfmt;
Field* field;
int (*framer)(int, uchar*, int);
};
[rsc] --rw-rw-r-- M 667885 glenda sys 9104 Oct 1 11:12 sys/src/cmd/ip/snoopy/dhcp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/dhcp.c:476,481 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/dhcp.c:476,482
p_seprint,
nil,
nil,
+ nil,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 1136 Oct 1 11:12 sys/src/cmd/ip/snoopy/dump.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/dump.c:85,89 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/dump.c:85,90
p_seprint,
nil,
nil,
+ nil,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 rsc sys 3996 Oct 1 11:12 sys/src/cmd/ip/snoopy/eap.c
[rsc] --rw-rw-r-- M 667885 rsc sys 50 Oct 1 11:12 sys/src/cmd/ip/snoopy/eap_identity.c
[rsc] --rw-rw-r-- M 667885 rsc sys 1890 Oct 1 11:12 sys/src/cmd/ip/snoopy/eapol.c
[rsc] --rw-rw-r-- M 667885 rsc sys 2025 Oct 1 11:12 sys/src/cmd/ip/snoopy/eapol_key.c
[rsc] --rw-rw-r-- M 667885 glenda sys 2013 Oct 1 11:12 sys/src/cmd/ip/snoopy/ether.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ether.c:23,28 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ether.c:23,29
{"ip6", 0x86dd, } ,
{"pppoe_disc", 0x8863, },
{"pppoe_sess", 0x8864, },
+ {"eapol", 0x888e, },
{0}
};
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ether.c:116,121 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ether.c:117,123
p_filter,
p_seprint,
p_mux,
+ "%#.4lux",
p_fields,
defaultframer
};
[rsc] --rw-rw-r-- M 667885 rsc sys 4285 Oct 1 11:12 sys/src/cmd/ip/snoopy/hdlc.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/hdlc.c:169,174 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/hdlc.c:169,175
p_filter,
p_seprint,
p_mux,
+ "%#.4lux",
nil,
p_framer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 2969 Oct 1 11:12 sys/src/cmd/ip/snoopy/icmp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/icmp.c:191,196 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/icmp.c:191,197
p_filter,
p_seprint,
p_mux,
+ "%lud",
p_fields,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 7736 Oct 1 11:12 sys/src/cmd/ip/snoopy/icmp6.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/icmp6.c:423,428 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/icmp6.c:423,429
p_filter,
p_seprint,
p_mux,
+ "%lud",
p_fields,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 2255 Oct 1 11:12 sys/src/cmd/ip/snoopy/il.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/il.c:142,147 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/il.c:142,148
p_filter,
p_seprint,
p_mux,
+ "%lud",
p_fields,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 4300 Oct 1 11:12 sys/src/cmd/ip/snoopy/ip.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ip.c:231,236 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ip.c:231,237
p_filter,
p_seprint,
p_mux,
+ "%lud",
p_fields,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 5371 Oct 1 11:12 sys/src/cmd/ip/snoopy/ip6.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ip6.c:304,309 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ip6.c:304,310
p_filter,
p_seprint,
p_mux,
+ "%lud",
p_fields,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 15408 Oct 1 11:12 sys/src/cmd/ip/snoopy/main.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/main.c:35,48 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/main.c:35,55
Proto* findproto(char *name);
Filter* compile(Filter *f);
void printfilter(Filter *f, char *tag);
- void printhelp(void);
+ void printhelp(char*);
void tracepkt(uchar*, int);
void pcaphdr(void);
void
+ printusage(void)
+ {
+ fprint(2, "usage: %s [-CDdpst] [-N n] [-f filter] [-h first-header] path\n", argv0);
+ fprint(2, " for protocol help: %s -? [proto]\n", argv0);
+ }
+
+ void
usage(void)
{
- fprint(2, "usage: %s [-std?] [-c] [-N n] [-f filter] [-h first-header] path", argv0);
+ printusage();
exits("usage");
}
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/main.c:74,93 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/main.c:81,99
mkprotograph();
ARGBEGIN{
+ default:
+ usage();
case '?':
- printhelp();
+ printusage();
+ printhelp(ARGF());
exits(0);
break;
case 'N':
- p = ARGF();
- if(p == nil)
- usage();
+ p = EARGF(usage());
Nflag = atoi(p);
break;
case 'f':
- p = ARGF();
- if(p == nil)
- usage();
+ p = EARGF(usage());
yyinit(p);
yyparse();
break;
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/main.c:95,103 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/main.c:101,107
sflag = 1;
break;
case 'h':
- p = ARGF();
- if(p == nil)
- usage();
+ p = EARGF(usage());
root = findproto(p);
if(root == nil)
sysfatal("unknown protocol: %s", p);
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/main.c:770,778 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/main.c:774,782
case WORD:
fprint(2, "%s", f->s);
if(f->l != nil){
- fprint(2, "( ");
+ fprint(2, "(");
_pf(f->l);
- fprint(2, " )");
+ fprint(2, ")");
}
break;
case LAND:
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/main.c:805,828 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/main.c:809,904
}
void
- printhelp(void)
+ cat(void)
{
+ char buf[1024];
+ int n;
+
+ while((n = read(0, buf, sizeof buf)) > 0)
+ write(1, buf, n);
+ }
+
+ static int fd1 = -1;
+ void
+ startmc(void)
+ {
+ int p[2];
+
+ if(fd1 == -1)
+ fd1 = dup(1, -1);
+
+ if(pipe(p) < 0)
+ return;
+ switch(fork()){
+ case -1:
+ return;
+ default:
+ close(p[0]);
+ dup(p[1], 1);
+ if(p[1] != 1)
+ close(p[1]);
+ return;
+ case 0:
+ close(p[1]);
+ dup(p[0], 0);
+ if(p[0] != 0)
+ close(p[0]);
+ execl("/bin/mc", "mc", nil);
+ cat();
+ _exits(0);
+ }
+ }
+
+ void
+ stopmc(void)
+ {
+ close(1);
+ dup(fd1, 1);
+ waitpid();
+ }
+
+ void
+ printhelp(char *name)
+ {
+ int len;
Proto *pr, **l;
Mux *m;
Field *f;
-
- for(l = protos; *l != nil; l++){
- pr = *l;
- if(pr->field != nil){
- print("%s's filter attr:\n", pr->name);
- for(f = pr->field; f->name != nil; f++)
- print("\t%s\t- %s\n", f->name, f->help);
- }
- if(pr->mux != nil){
- print("%s's subprotos:\n", pr->name);
- for(m = pr->mux; m->name != nil; m++)
- print("\t%s\n", m->name);
- }
+ char fmt[40];
+
+ if(name == nil){
+ print("protocols:\n");
+ startmc();
+ for(l=protos; (pr=*l) != nil; l++)
+ print(" %s\n", pr->name);
+ stopmc();
+ return;
+ }
+
+ pr = findproto(name);
+ if(pr == nil){
+ print("unknown protocol %s\n", name);
+ return;
+ }
+
+ if(pr->field){
+ print("%s's filter attributes:\n", pr->name);
+ len = 0;
+ for(f=pr->field; f->name; f++)
+ if(len < strlen(f->name))
+ len = strlen(f->name);
+ startmc();
+ for(f=pr->field; f->name; f++)
+ print(" %-*s - %s\n", len, f->name, f->help);
+ stopmc();
+ }
+ if(pr->mux){
+ print("%s's subprotos:\n", pr->name);
+ startmc();
+ snprint(fmt, sizeof fmt, " %s %%s\n", pr->valfmt);
+ for(m=pr->mux; m->name != nil; m++)
+ print(fmt, m->val, m->name);
+ stopmc();
}
}
[rsc] --rw-rw-r-- M 667885 glenda sys 849 Oct 1 11:12 sys/src/cmd/ip/snoopy/mkfile
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/mkfile:2,32 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/mkfile:2,38
TARG=snoopy
PROTOS=\
- ether\
- ip\
- ip6\
- dump\
arp\
- rarp\
- udp\
bootp\
dhcp\
+ dump\
+ eap\
+ eap_identity\
+ eapol\
+ eapol_key\
+ ether\
hdlc\
- rtp\
- rtcp\
- tcp\
- il\
- icmp\
icmp6\
+ icmp\
+ il\
+ ip6\
+ ip\
ninep\
ospf\
ppp\
ppp_ccp\
- ppp_lcp\
ppp_chap\
ppp_ipcp\
- pppoe_sess\
+ ppp_lcp\
pppoe_disc\
+ pppoe_sess\
+ rarp\
+ rc4keydesc\
+ rtcp\
+ rtp\
+ tcp\
+ ttls\
+ udp\
POBJS=${PROTOS:%=%.$O}
[rsc] --rw-rw-r-- M 667885 glenda sys 701 Oct 1 11:12 sys/src/cmd/ip/snoopy/ninep.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ninep.c:49,53 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ninep.c:49,54
p_seprint,
nil,
nil,
+ nil,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 7522 Oct 1 11:12 sys/src/cmd/ip/snoopy/ospf.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ospf.c:397,401 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ospf.c:397,402
p_seprint,
nil,
nil,
+ nil,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 10544 Oct 1 11:12 sys/src/cmd/ip/snoopy/ppp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ppp.c:569,574 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ppp.c:569,575
p_filter,
p_seprint,
p_mux,
+ "%#.4lux",
nil,
defaultframer,
};
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ppp.c:581,586 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ppp.c:582,588
p_seprintipcp,
nil,
nil,
+ nil,
defaultframer,
};
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ppp.c:592,597 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ppp.c:594,600
p_seprintlcp,
nil,
nil,
+ nil,
defaultframer,
};
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ppp.c:603,608 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ppp.c:606,612
p_seprintccp,
nil,
nil,
+ nil,
defaultframer,
};
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ppp.c:614,619 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ppp.c:618,624
p_seprintchap,
nil,
nil,
+ nil,
defaultframer,
};
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/ppp.c:623,628 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/ppp.c:628,634
p_compile,
p_filter,
p_seprintcomp,
+ nil,
nil,
nil,
defaultframer,
[rsc] --rw-rw-r-- M 667885 rsc sys 2513 Oct 1 11:12 sys/src/cmd/ip/snoopy/pppoe_disc.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/pppoe_disc.c:155,160 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/pppoe_disc.c:155,161
p_filter,
p_seprintdisc,
p_mux,
+ "%lud",
p_fields,
defaultframer
};
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/pppoe_disc.c:166,171 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/pppoe_disc.c:167,173
p_filter,
p_seprintsess,
p_mux,
+ "%lud",
p_fields,
defaultframer
};
[rsc] --rw-rw-r-- M 667885 rsc sys 56 Oct 1 11:12 sys/src/cmd/ip/snoopy/rc4keydesc.c
[rsc] --rw-rw-r-- M 667885 jmk sys 1964 Oct 1 11:12 sys/src/cmd/ip/snoopy/rtcp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/rtcp.c:91,95 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/rtcp.c:91,96
p_seprint,
nil,
nil,
+ nil,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 jmk sys 1166 Oct 1 11:12 sys/src/cmd/ip/snoopy/rtp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/rtp.c:70,74 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/rtp.c:70,75
p_seprint,
nil,
nil,
+ nil,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 glenda sys 3602 Oct 1 11:12 sys/src/cmd/ip/snoopy/tcp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/tcp.c:216,221 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/tcp.c:216,222
p_filter,
p_seprint,
p_mux,
+ "%lud",
p_fields,
defaultframer,
};
[rsc] --rw-rw-r-- M 667885 rsc sys 1451 Oct 1 11:12 sys/src/cmd/ip/snoopy/ttls.c
[rsc] --rw-rw-r-- M 667885 glenda sys 1999 Oct 1 11:12 sys/src/cmd/ip/snoopy/udp.c
/n/sourcesdump/2005/1001/plan9/sys/src/cmd/ip/snoopy/udp.c:126,131 -
/n/sourcesdump/2005/1002/plan9/sys/src/cmd/ip/snoopy/udp.c:126,132
p_filter,
p_seprint,
p_mux,
+ "%lud",
p_fields,
defaultframer,
};
[sys] --rwxrwxr-x M 667885 glenda sys 168209 Oct 1 23:08 386/bin/snoopy
/sys/src/cmd/ip/snoopy/eap.c:op
/sys/src/cmd/ip/snoopy/eap.c:p_compile
/sys/src/cmd/ip/snoopy/eap.c:p_filter
/sys/src/cmd/ip/snoopy/eap.c:p_seprint
/sys/src/cmd/ip/snoopy/eap.c:p_seprintidentity
/sys/src/cmd/ip/snoopy/eap.c:subop
/sys/src/cmd/ip/snoopy/eapol.c:op
/sys/src/cmd/ip/snoopy/eapol.c:p_compile
/sys/src/cmd/ip/snoopy/eapol.c:p_filter
/sys/src/cmd/ip/snoopy/eapol.c:p_seprint
/sys/src/cmd/ip/snoopy/eapol_key.c:op
/sys/src/cmd/ip/snoopy/eapol_key.c:p_compile
/sys/src/cmd/ip/snoopy/eapol_key.c:p_filter
/sys/src/cmd/ip/snoopy/eapol_key.c:p_seprint
/sys/src/cmd/ip/snoopy/eapol_key.c:p_seprintrc4
/sys/src/cmd/ip/snoopy/ether.c:p_compile
/sys/src/cmd/ip/snoopy/ether.c:p_seprint
/sys/src/cmd/ip/snoopy/filter.y:yylex1
/sys/src/cmd/ip/snoopy/filter.y:yytokname
/sys/src/cmd/ip/snoopy/main.c:_compile
/sys/src/cmd/ip/snoopy/main.c:_filterpkt
/sys/src/cmd/ip/snoopy/main.c:_pf
/sys/src/cmd/ip/snoopy/main.c:addproto
/sys/src/cmd/ip/snoopy/main.c:cat
/sys/src/cmd/ip/snoopy/main.c:compile
/sys/src/cmd/ip/snoopy/main.c:compile_cmp
/sys/src/cmd/ip/snoopy/main.c:complete
/sys/src/cmd/ip/snoopy/main.c:findbogus
/sys/src/cmd/ip/snoopy/main.c:main
/sys/src/cmd/ip/snoopy/main.c:newfilter
/sys/src/cmd/ip/snoopy/main.c:printfilter
/sys/src/cmd/ip/snoopy/main.c:printhelp
/sys/src/cmd/ip/snoopy/main.c:printpkt
/sys/src/cmd/ip/snoopy/main.c:printusage
/sys/src/cmd/ip/snoopy/main.c:startmc
/sys/src/cmd/ip/snoopy/main.c:stopmc
/sys/src/cmd/ip/snoopy/main.c:usage
/sys/src/cmd/ip/snoopy/ttls.c:flags
/sys/src/cmd/ip/snoopy/ttls.c:p_seprint
/sys/src/libc/9sys/fork.c:fork
/sys/src/libc/9sys/waitpid.c:waitpid
/sys/src/libc/9syscall/await.s:await
/sys/src/libc/9syscall/dup.s:dup
/sys/src/libc/9syscall/exec.s:exec
/sys/src/libc/9syscall/pipe.s:pipe
/sys/src/libc/9syscall/rfork.s:rfork
/sys/src/libc/fmt/fmt.c:_fmtinstall
/sys/src/libc/port/execl.c:execl
/sys/src/libc/port/tokenize.c:etoken
/sys/src/libc/port/tokenize.c:gettokens
/sys/src/libc/port/tokenize.c:qtoken
/sys/src/libc/port/tokenize.c:tokenize
/sys/src/libc/port/utfrune.c:utfrune
|