diff options
author | Edwin Groothuis <edwin@FreeBSD.org> | 2005-01-12 04:28:54 +0000 |
---|---|---|
committer | Edwin Groothuis <edwin@FreeBSD.org> | 2005-01-12 04:28:54 +0000 |
commit | 5aa2cfd5452535b79f99419c3e0975bf1a87bdc6 (patch) | |
tree | 9a50a53b1f87b348e7c5dead44068f1672229509 /net/trafshow | |
parent | a1448ce30503235a9045d12f7f7517776c934094 (diff) | |
download | ports-5aa2cfd5452535b79f99419c3e0975bf1a87bdc6.tar.gz ports-5aa2cfd5452535b79f99419c3e0975bf1a87bdc6.zip |
Notes
Diffstat (limited to 'net/trafshow')
-rw-r--r-- | net/trafshow/Makefile | 2 | ||||
-rw-r--r-- | net/trafshow/files/patch-ah | 116 |
2 files changed, 117 insertions, 1 deletions
diff --git a/net/trafshow/Makefile b/net/trafshow/Makefile index acf081a58a01..e9c45adf8f90 100644 --- a/net/trafshow/Makefile +++ b/net/trafshow/Makefile @@ -7,7 +7,7 @@ PORTNAME= trafshow PORTVERSION= 3.1 -PORTREVISION= 4 +PORTREVISION= 5 PORTEPOCH= 1 CATEGORIES= net MASTER_SITES= ftp://ftp.sasknow.com/pub/trafshow/ \ diff --git a/net/trafshow/files/patch-ah b/net/trafshow/files/patch-ah new file mode 100644 index 000000000000..77b6c110abdb --- /dev/null +++ b/net/trafshow/files/patch-ah @@ -0,0 +1,116 @@ +--- display.c.orig Sun Aug 23 21:51:48 1998 ++++ display.c Fri Dec 6 12:17:55 2002 +@@ -54,6 +54,7 @@ + static int l_nflag, l_eflag; + static int n_entries; + static int err_pos; ++extern struct t_entry t_mask; /* traffic mask */ + + void + init_display(reinit) +@@ -282,6 +284,13 @@ + packets_total++; + bytes_total += e->bytes; + j = page * page_size; ++ ++ e->src.s_addr &= t_mask.src.s_addr; ++ e->dst.s_addr &= t_mask.dst.s_addr; ++ e->sport &= t_mask.sport; ++ e->dport &= t_mask.dport; ++ e->proto &= t_mask.proto; ++ + for (i = 0; i < n_entry; i++) { + if (memcmp(&e->eh, &entries[i].eh, sizeof(e->eh)) == 0 && + e->src.s_addr == entries[i].src.s_addr && +--- trafshow.c.orig Fri Aug 28 00:15:57 1998 ++++ trafshow.c Fri Dec 6 12:34:09 2002 +@@ -48,6 +48,7 @@ + int pflag = 0; /* don't put the interface into promiscuous mode */ + int kflag = 1; /* disable keyboard input checking */ + int eflag = 0; /* show ethernet traffic rather than ip */ ++struct t_entry t_mask; /* traffic mask */ + + /* global variables */ + char *program_name; /* myself */ +@@ -78,6 +79,12 @@ + extern int abort_on_misalignment(); + extern pcap_handler lookup_if(); + ++ t_mask.src.s_addr = 0xffffffff; /* all bits valid */ ++ t_mask.dst.s_addr = 0xffffffff; /* all bits valid */ ++ t_mask.sport = 0xffff; /* all bits valid */ ++ t_mask.dport = 0xffff; /* all bits valid */ ++ t_mask.proto = 0xffff; /* all bits valid */ ++ + cnt = -1; + device_name = NULL; + infile = NULL; +@@ -94,7 +87,7 @@ + + if (abort_on_misalignment(ebuf) < 0) error(0, ebuf); + +- while ((op = getopt(argc, argv, "c:CefF:i:knNOpr:t:vh?")) != EOF) ++ while ((op = getopt(argc, argv, "c:CefF:i:kmnNOpr:t:vh?")) != EOF) + switch (op) { + case 'C': + #ifdef HAVE_SLCURSES +@@ -114,6 +121,40 @@ + break; + case 'k': + kflag = 0; ++ break; ++ case 'm': ++ t_mask.src.s_addr = 0; ++ t_mask.dst.s_addr = 0; ++ t_mask.sport = 0; ++ t_mask.dport = 0; ++ t_mask.proto = 0; ++ for (;optind + 1 <= argc;) { ++ char *s = argv[optind]; ++ u_int32_t arg = 0xffffffff; ++ int save=optind; ++ ++ optind++; ++ if (optind + 1 <= argc && ++ isdigit(*(argv[optind])) ) { ++ arg = strtoul(argv[optind], NULL, 0); ++ optind++; ++ } ++ ++ if (!strcmp(s, "src-ip")) ++ t_mask.src.s_addr = htonl(arg); ++ else if (!strcmp(s, "dst-ip")) ++ t_mask.dst.s_addr = htonl(arg); ++ else if (!strcmp(s, "src-port")) ++ t_mask.sport = htons((u_short)(arg)); ++ else if (!strcmp(s, "dst-port")) ++ t_mask.dport = htons((u_short)(arg)); ++ else if (!strcmp(s, "proto")) ++ t_mask.proto = arg; ++ else { ++ optind = save; ++ break; ++ } ++ } + break; + case 'n': + ++nflag; +--- trafshow.1.orig Fri Aug 28 09:37:38 1998 ++++ trafshow.1 Tue Apr 15 22:32:21 2003 +@@ -42,6 +42,16 @@ + .B \-k + Disable input keyboard checking. It is intended to avoid loss of packets. + .TP ++.B \-m ++[src-ip M] [dst-ip M] [src-port M] [dst-port M] [proto M] ++.br ++Mask the specified field with mask M (which should be specified ++as an hex number e.g. 0xffff0000) before further processing ++of the packet. This allows to aggregate traffic in the display ++to ease analysis. ++.br ++.The masks for all field not specified will be set to 0. ++.TP + .B \-n + Don't convert host addresses and port numbers to names. + .TP |