diff options
author | edwin <edwin@FreeBSD.org> | 2005-01-12 12:28:54 +0800 |
---|---|---|
committer | edwin <edwin@FreeBSD.org> | 2005-01-12 12:28:54 +0800 |
commit | fc6511be3a9a05d18ae2d10947601afb6d85fa03 (patch) | |
tree | a5d6759af7110fc851164f3fcf36c3fbad68a704 /net/trafshow/files | |
parent | f4351fcf6ef2880673cb7f005987db198380e61c (diff) | |
download | freebsd-ports-gnome-fc6511be3a9a05d18ae2d10947601afb6d85fa03.tar.gz freebsd-ports-gnome-fc6511be3a9a05d18ae2d10947601afb6d85fa03.tar.zst freebsd-ports-gnome-fc6511be3a9a05d18ae2d10947601afb6d85fa03.zip |
MAINTAINER-UPDATE: net/trafshow restore patch-ah
During the split of trafshow3 and 4, the file patch-ah (a
local enhancement adding the ability to apply masks to
traffic patterns) was removed from files/ .
PR: ports/75685
Submitted by: Ryan Thompson <ryan@sasknow.com>
Diffstat (limited to 'net/trafshow/files')
-rw-r--r-- | net/trafshow/files/patch-ah | 116 |
1 files changed, 116 insertions, 0 deletions
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 |