home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-11-07 | 64.3 KB | 1,583 lines |
- Newsgroups: comp.sources.misc
- From: nevil@ccu1.aukuni.ac.nz (J Nevil Brownlee)
- Subject: REPOST: v40i098: netramet - Network Traffic Accounting Meter, Part10/25
- Message-ID: <1993Nov7.230103.15166@sparky.sterling.com>
- X-Md4-Signature: 3efe95a19215dd644fd51ed5b44673ea
- Sender: kent@sparky.sterling.com (Kent Landfield)
- Organization: Sterling Software
- Date: Sun, 7 Nov 1993 23:01:03 GMT
- Approved: kent@sparky.sterling.com
-
- Submitted-by: nevil@ccu1.aukuni.ac.nz (J Nevil Brownlee)
- Posting-number: Volume 40, Issue 98
- Archive-name: netramet/part10
- Environment: INET, UNIX, DOS
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: netramet/doc/NeTraMet/NeTraMet.man.ps.A
- # netramet/sg/apps/snmpnetstat/Makefile
- # netramet/src/meter/meter_ux.c
- # Wrapped by kent@sparky on Tue Nov 2 18:17:07 1993
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 10 (of 25)."'
- if test -f 'netramet/doc/NeTraMet/NeTraMet.man.ps.A' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'netramet/doc/NeTraMet/NeTraMet.man.ps.A'\"
- else
- echo shar: Extracting \"'netramet/doc/NeTraMet/NeTraMet.man.ps.A'\" \(47198 characters\)
- sed "s/^X//" >'netramet/doc/NeTraMet/NeTraMet.man.ps.A' <<'END_OF_FILE'
- X%!PS-Adobe-3.0 EPSF-2.0
- X%%Creator: Windows PSCRIPT
- X%%Title: Microsoft Word - NETRAMET.DOC
- X%%BoundingBox: 13 10 577 832
- X%%DocumentNeededResources: (atend)
- X%%DocumentSuppliedResources: (atend)
- X%%Pages: 0
- X%%BeginResource: procset Win35Dict 3 1
- X/Win35Dict 290 dict def Win35Dict begin/bd{bind def}bind def/in{72
- Xmul}bd/ed{exch def}bd/ld{load def}bd/tr/translate ld/gs/gsave ld/gr
- X/grestore ld/M/moveto ld/L/lineto ld/rmt/rmoveto ld/rlt/rlineto ld
- X/rct/rcurveto ld/st/stroke ld/n/newpath ld/sm/setmatrix ld/cm/currentmatrix
- Xld/cp/closepath ld/ARC/arcn ld/TR{65536 div}bd/lj/setlinejoin ld/lc
- X/setlinecap ld/ml/setmiterlimit ld/sl/setlinewidth ld/scignore false
- Xdef/sc{scignore{pop pop pop}{0 index 2 index eq 2 index 4 index eq
- Xand{pop pop 255 div setgray}{3{255 div 3 1 roll}repeat setrgbcolor}ifelse}ifelse}bd
- X/FC{bR bG bB sc}bd/fC{/bB ed/bG ed/bR ed}bd/HC{hR hG hB sc}bd/hC{
- X/hB ed/hG ed/hR ed}bd/PC{pR pG pB sc}bd/pC{/pB ed/pG ed/pR ed}bd/sM
- Xmatrix def/PenW 1 def/iPen 5 def/mxF matrix def/mxE matrix def/mxUE
- Xmatrix def/mxUF matrix def/fBE false def/iDevRes 72 0 matrix defaultmatrix
- Xdtransform dup mul exch dup mul add sqrt def/fPP false def/SS{fPP{
- X/SV save def}{gs}ifelse}bd/RS{fPP{SV restore}{gr}ifelse}bd/EJ{gsave
- Xshowpage grestore}bd/#C{userdict begin/#copies ed end}bd/FEbuf 2 string
- Xdef/FEglyph(G )def/FE{1 exch{dup 16 FEbuf cvrs FEglyph exch 1 exch
- Xputinterval 1 index exch FEglyph cvn put}for}bd/SM{/iRes ed/cyP ed
- X/cxPg ed/cyM ed/cxM ed 72 100 div dup scale dup 0 ne{90 eq{cyM exch
- X0 eq{cxM exch tr -90 rotate -1 1 scale}{cxM cxPg add exch tr +90 rotate}ifelse}{cyP
- XcyM sub exch 0 ne{cxM exch tr -90 rotate}{cxM cxPg add exch tr -90
- Xrotate 1 -1 scale}ifelse}ifelse}{pop cyP cyM sub exch 0 ne{cxM cxPg
- Xadd exch tr 180 rotate}{cxM exch tr 1 -1 scale}ifelse}ifelse 100 iRes
- Xdiv dup scale 0 0 transform .25 add round .25 sub exch .25 add round
- X.25 sub exch itransform translate}bd/SJ{1 index 0 eq{pop pop/fBE false
- Xdef}{1 index/Break ed div/dxBreak ed/fBE true def}ifelse}bd/ANSIVec[
- X16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
- X16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
- X16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
- X16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
- X/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
- X16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
- X/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97
- X/emdash 16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
- X16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar 16#A7/section
- X16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
- X16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
- X16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5
- X/mu 16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
- X16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
- X16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2
- X/Acircumflex 16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7
- X/Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis
- X16#CC/Igrave 16#CD/Iacute 16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth
- X16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde
- X16#D6/Odieresis 16#D7/multiply 16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute
- X16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute 16#DE/Thorn 16#DF/germandbls
- X16#E0/agrave 16#E1/aacute 16#E2/acircumflex 16#E3/atilde 16#E4/adieresis
- X16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA
- X/ecircumflex 16#EB/edieresis 16#EC/igrave 16#ED/iacute 16#EE/icircumflex
- X16#EF/idieresis 16#F0/eth 16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4
- X/ocircumflex 16#F5/otilde 16#F6/odieresis 16#F7/divide 16#F8/oslash
- X16#F9/ugrave 16#FA/uacute 16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute
- X16#FE/thorn 16#FF/ydieresis ] def/reencdict 12 dict def/IsChar{basefontdict
- X/CharStrings get exch known}bd/MapCh{dup IsChar not{pop/bullet}if
- Xnewfont/Encoding get 3 1 roll put}bd/MapDegree{16#b0/degree IsChar{
- X/degree}{/ring}ifelse MapCh}bd/MapBB{16#a6/brokenbar IsChar{/brokenbar}{
- X/bar}ifelse MapCh}bd/ANSIFont{reencdict begin/newfontname ed/basefontname
- Xed FontDirectory newfontname known not{/basefontdict basefontname findfont
- Xdef/newfont basefontdict maxlength dict def basefontdict{exch dup/FID
- Xne{dup/Encoding eq{exch dup length array copy newfont 3 1 roll put}{exch
- Xnewfont 3 1 roll put}ifelse}{pop pop}ifelse}forall newfont/FontName
- Xnewfontname put 127 1 159{newfont/Encoding get exch/bullet put}for
- XANSIVec aload pop ANSIVec length 2 idiv{MapCh}repeat MapDegree MapBB
- Xnewfontname newfont definefont pop}if newfontname end}bd/SB{FC/ULlen
- Xed/str ed str length fBE not{dup 1 gt{1 sub}if}if/cbStr ed/dxGdi ed
- X/y0 ed/x0 ed str stringwidth dup 0 ne{/y1 ed/x1 ed y1 y1 mul x1 x1
- Xmul add sqrt dxGdi exch div 1 sub dup x1 mul cbStr div exch y1 mul
- XcbStr div}{exch abs neg dxGdi add cbStr div exch}ifelse/dyExtra ed
- X/dxExtra ed x0 y0 M fBE{dxBreak 0 BCh dxExtra dyExtra str awidthshow}{dxExtra
- XdyExtra str ashow}ifelse fUL{x0 y0 M dxUL dyUL rmt ULlen fBE{Break
- Xadd}if 0 mxUE transform gs rlt cyUL sl [] 0 setdash st gr}if fSO{x0
- Xy0 M dxSO dySO rmt ULlen fBE{Break add}if 0 mxUE transform gs rlt cyUL
- Xsl [] 0 setdash st gr}if n/fBE false def}bd/font{/name ed/Ascent ed
- X0 ne/fT3 ed 0 ne/fSO ed 0 ne/fUL ed/Sy ed/Sx ed 10.0 div/ori ed -10.0
- Xdiv/esc ed/BCh ed name findfont/xAscent 0 def/yAscent Ascent def/ULesc
- Xesc def ULesc mxUE rotate pop fT3{/esc 0 def xAscent yAscent mxUE transform
- X/yAscent ed/xAscent ed}if [Sx 0 0 Sy neg xAscent yAscent] esc mxE
- Xrotate mxF concatmatrix makefont setfont [Sx 0 0 Sy neg 0 Ascent] mxUE
- XmxUF concatmatrix pop fUL{currentfont dup/FontInfo get/UnderlinePosition
- Xknown not{pop/Courier findfont}if/FontInfo get/UnderlinePosition get
- X1000 div 0 exch mxUF transform/dyUL ed/dxUL ed}if fSO{0 .3 mxUF transform
- X/dySO ed/dxSO ed}if fUL fSO or{currentfont dup/FontInfo get/UnderlineThickness
- Xknown not{pop/Courier findfont}if/FontInfo get/UnderlineThickness get
- X1000 div Sy mul/cyUL ed}if}bd/min{2 copy gt{exch}if pop}bd/max{2 copy
- Xlt{exch}if pop}bd/CP{/ft ed{{ft 0 eq{clip}{eoclip}ifelse}stopped{currentflat
- X1 add setflat}{exit}ifelse}loop}bd/patfont 10 dict def patfont begin
- X/FontType 3 def/FontMatrix [1 0 0 -1 0 0] def/FontBBox [0 0 16 16]
- Xdef/Encoding StandardEncoding def/BuildChar{pop pop 16 0 0 0 16 16
- Xsetcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bd end/p{
- X/pat 32 string def{}forall 0 1 7{dup 2 mul pat exch 3 index put dup
- X2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index
- Xput 2 mul 17 add pat exch 2 index put pop}for}bd/pfill{/PatFont patfont
- Xdefinefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch
- Xshow}for pop}for}bd/vert{X0 w X1{dup Y0 M Y1 L st}for}bd/horz{Y0 w
- XY1{dup X0 exch M X1 exch L st}for}bd/fdiag{X0 w X1{Y0 M X1 X0 sub dup
- Xrlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup rlt st}for}bd/bdiag{X0 w
- XX1{Y1 M X1 X0 sub dup neg rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup
- Xneg rlt st}for}bd/AU{1 add cvi 15 or}bd/AD{1 sub cvi -16 and}bd/SHR{pathbbox
- XAU/Y1 ed AU/X1 ed AD/Y0 ed AD/X0 ed}bd/hfill{/w iRes 37.5 div round
- Xdef 0.1 sl [] 0 setdash n dup 0 eq{horz}if dup 1 eq{vert}if dup 2 eq{fdiag}if
- Xdup 3 eq{bdiag}if dup 4 eq{horz vert}if 5 eq{fdiag bdiag}if}bd/F{/ft
- Xed fm 256 and 0 ne{gs FC ft 0 eq{fill}{eofill}ifelse gr}if fm 1536
- Xand 0 ne{SHR gs HC ft CP fm 1024 and 0 ne{/Tmp save def pfill Tmp restore}{fm
- X15 and hfill}ifelse gr}if}bd/S{PenW sl PC st}bd/m matrix def/GW{iRes
- X12 div PenW add cvi}bd/DoW{iRes 50 div PenW add cvi}bd/DW{iRes 8 div
- XPenW add cvi}bd/SP{/PenW ed/iPen ed iPen 0 eq iPen 6 eq or{[] 0 setdash}if
- XiPen 1 eq{[DW GW] 0 setdash}if iPen 2 eq{[DoW GW] 0 setdash}if iPen
- X3 eq{[DW GW DoW GW] 0 setdash}if iPen 4 eq{[DW GW DoW GW DoW GW] 0
- Xsetdash}if}bd/E{m cm pop tr scale 1 0 moveto 0 0 1 0 360 arc cp m sm}bd
- X/AG{/sy ed/sx ed sx div 4 1 roll sy div 4 1 roll sx div 4 1 roll sy
- Xdiv 4 1 roll atan/a2 ed atan/a1 ed sx sy scale a1 a2 ARC}def/A{m cm
- Xpop tr AG m sm}def/P{m cm pop tr 0 0 M AG cp m sm}def/RRect{n 4 copy
- XM 3 1 roll exch L 4 2 roll L L cp}bd/RRCC{/r ed/y1 ed/x1 ed/y0 ed/x0
- Xed x0 x1 add 2 div y0 M x1 y0 x1 y1 r arcto 4{pop}repeat x1 y1 x0 y1
- Xr arcto 4{pop}repeat x0 y1 x0 y0 r arcto 4{pop}repeat x0 y0 x1 y0 r
- Xarcto 4{pop}repeat cp}bd/RR{2 copy 0 eq exch 0 eq or{pop pop RRect}{2
- Xcopy eq{pop RRCC}{m cm pop/y2 ed/x2 ed/ys y2 x2 div 1 max def/xs x2
- Xy2 div 1 max def/y1 exch ys div def/x1 exch xs div def/y0 exch ys div
- Xdef/x0 exch xs div def/r2 x2 y2 min def xs ys scale x0 x1 add 2 div
- Xy0 M x1 y0 x1 y1 r2 arcto 4{pop}repeat x1 y1 x0 y1 r2 arcto 4{pop}repeat
- Xx0 y1 x0 y0 r2 arcto 4{pop}repeat x0 y0 x1 y0 r2 arcto 4{pop}repeat
- Xm sm cp}ifelse}ifelse}bd/PP{{rlt}repeat}bd/OB{gs 0 ne{7 3 roll/y ed
- X/x ed x y translate ULesc rotate x neg y neg translate x y 7 -3 roll}if
- Xsc B fill gr}bd/B{M/dy ed/dx ed dx 0 rlt 0 dy rlt dx neg 0 rlt cp}bd
- X/CB{B clip n}bd/ErrHandler{errordict dup maxlength exch length gt
- Xdup{errordict begin}if/errhelpdict 12 dict def errhelpdict begin/stackunderflow(operand stack underflow)def
- X/undefined(this name is not defined in a dictionary)def/VMerror(you have used up all the printer's memory)def
- X/typecheck(operator was expecting a different type of operand)def
- X/ioerror(input/output error occured)def end{end}if errordict begin
- X/handleerror{$error begin newerror{/newerror false def showpage 72
- X72 scale/x .25 def/y 9.6 def/Helvetica findfont .2 scalefont setfont
- Xx y moveto(Offending Command = )show/command load{dup type/stringtype
- Xne{(max err string)cvs}if show}exec/y y .2 sub def x y moveto(Error = )show
- Xerrorname{dup type dup( max err string )cvs show( : )show/stringtype
- Xne{( max err string )cvs}if show}exec errordict begin errhelpdict errorname
- Xknown{x 1 add y .2 sub moveto errhelpdict errorname get show}if end
- X/y y .4 sub def x y moveto(Stack =)show ostack{/y y .2 sub def x 1
- Xadd y moveto dup type/stringtype ne{( max err string )cvs}if show}forall
- Xshowpage}if end}def end}bd end
- X%%EndResource
- X/SVDoc save def
- X%%EndProlog
- X%%BeginSetup
- XWin35Dict begin
- XErrHandler
- X%%EndSetup
- XSS
- X0 0 18 13 783 1169 300 SM
- X32 0 0 54 54 0 0 0 51 /Helvetica-Bold /font13 ANSIFont font
- X0 0 0 fC
- X728 523 945 (INTRODUCTORY DOCUMENTATION) 945 SB
- X32 0 0 100 100 0 0 0 94 /Helvetica-Bold /font13 ANSIFont font
- X711 690 979 (NeTraMet & NeMaC) 979 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X641 910 1120 (Network Traffic Meter & NeTraMet Manager/Collector) 1120 SB
- X32 0 0 75 75 0 0 0 71 /Helvetica-Oblique /font19 ANSIFont font
- X949 1152 503 (Nevil Brownlee) 503 SB
- X32 0 0 54 54 0 0 0 51 /Helvetica /font12 ANSIFont font
- X994 1347 414 (Computer Centre) 414 SB
- X880 1414 642 (The University of Auckland) 642 SB
- X916 1481 570 (Auckland, New Zealand) 570 SB
- X1037 1573 327 (October 1993) 327 SB
- X32 0 0 54 54 0 0 0 51 /Helvetica-Bold /font13 ANSIFont font
- X1057 2086 258 (PREFACE) 258 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X448 2198 39 (It ) 48 SB
- X496 2198 46 (is ) 55 SB
- X551 2198 39 (a ) 48 SB
- X599 2198 191 (pleasure ) 200 SB
- X799 2198 52 (to ) 61 SB
- X860 2198 110 (write ) 119 SB
- X979 2198 85 (this ) 94 SB
- X1073 2198 168 (preface ) 177 SB
- X1250 2198 52 (to ) 61 SB
- X1311 2198 115 (Nevil ) 124 SB
- X1435 2198 238 (Brownlee's ) 248 SB
- X1683 2198 242 (introductory) 242 SB
- X448 2252 318 (documentation ) 322 SB
- X770 2252 67 (for ) 71 SB
- X841 2252 218 (NeTraMet ) 222 SB
- X1063 2252 91 (and ) 95 SB
- X1158 2252 182 (NeMaC. ) 186 SB
- X1344 2252 13 ( ) 17 SB
- X1361 2252 93 (The ) 97 SB
- X1458 2252 172 (system, ) 177 SB
- X1635 2252 131 (which ) 136 SB
- X1771 2252 154 (collects) 154 SB
- X448 2306 238 (accounting ) 245 SB
- X693 2306 104 (data ) 112 SB
- X805 2306 67 (for ) 75 SB
- X880 2306 175 (network ) 183 SB
- X1063 2306 139 (traffic, ) 147 SB
- X1210 2306 88 (has ) 96 SB
- X1306 2306 165 (already ) 173 SB
- X1479 2306 155 (proved ) 163 SB
- X1642 2306 52 (to ) 60 SB
- X1702 2306 65 (be ) 73 SB
- X1775 2306 39 (a ) 47 SB
- X1822 2306 103 (gold-) 103 SB
- X448 2360 113 (mine ) 128 SB
- X576 2360 64 (\(in ) 79 SB
- X655 2360 78 (the ) 93 SB
- X748 2360 201 (figurative ) 216 SB
- X964 2360 165 (sense\), ) 180 SB
- X1144 2360 201 (providing ) 216 SB
- X1360 2360 242 (information ) 257 SB
- X1617 2360 130 (about ) 146 SB
- X1763 2360 162 (network) 162 SB
- X448 2414 126 (traffic ) 136 SB
- X584 2414 118 (flows ) 128 SB
- X712 2414 91 (and ) 102 SB
- X814 2414 154 (activity ) 165 SB
- X979 2414 181 (patterns ) 192 SB
- X1171 2414 131 (which ) 142 SB
- X1313 2414 80 (are ) 91 SB
- X1404 2414 222 (invaluable ) 233 SB
- X1637 2414 49 (in ) 60 SB
- X1697 2414 191 (reaching ) 202 SB
- X1899 2414 26 (a) 26 SB
- X448 2468 807 (better understanding of network usage.) 807 SB
- X1393 2705 409 (Dr John C. B. White) 409 SB
- X1393 2759 542 (Director, Computer Centre) 542 SB
- X1393 2813 458 (University of Auckland) 458 SB
- X32 0 0 46 46 1 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3186 416 ( ) 416 SB
- X687 3186 416 ( ) 416 SB
- X1103 3186 78 ( ) 78 SB
- X1171 3186 416 ( ) 416 SB
- X1587 3186 416 ( ) 416 SB
- X2003 3186 78 ( ) 78 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3265 182 (10/15/93) 182 SB
- X1116 3265 43 (-- ) 43 SB
- X1159 3265 10 (i) 10 SB
- X1169 3265 56 ( --) 56 SB
- X1866 3265 205 (NeTraMet) 205 SB
- XEJ RS
- X%%PageTrailer
- XSS
- X0 0 18 13 783 1169 300 SM
- X32 0 0 63 63 0 0 0 59 /Helvetica-Bold /font13 ANSIFont font
- X0 0 0 fC
- X1021 263 45 (C) 47 SB
- X1068 263 49 (O) 51 SB
- X1119 263 45 (N) 47 SB
- X1166 263 38 (T) 40 SB
- X1206 263 42 (E) 44 SB
- X1250 263 45 (N) 47 SB
- X1297 263 38 (T) 40 SB
- X1337 263 42 (S) 44 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- Xgs 1936 158 233 336 CB
- X330 440 39 (1.) 39 SB
- Xgr
- Xgs 1936 158 233 336 CB
- X405 440 243 (Introduction) 243 SB
- Xgr
- Xgs 1936 158 233 336 CB
- X1899 440 26 (1) 26 SB
- Xgr
- X419 504 78 (1.1.) 78 SB
- X531 504 500 (Operating Environments) 500 SB
- X1899 504 26 (1) 26 SB
- X419 568 78 (1.2.) 78 SB
- X531 568 261 (Traffic Flows) 261 SB
- X1899 568 26 (1) 26 SB
- X419 632 78 (1.3.) 78 SB
- X531 632 910 (The Internet Accounting Meter Services MIB) 910 SB
- X1899 632 26 (2) 26 SB
- Xgs 1907 79 233 686 CB
- X330 711 39 (2.) 39 SB
- Xgr
- Xgs 1907 79 233 686 CB
- X405 711 471 (Implementation Details) 471 SB
- Xgr
- Xgs 1907 79 233 686 CB
- X1899 711 26 (2) 26 SB
- Xgr
- X419 775 78 (2.1.) 78 SB
- X531 775 736 (Program Development Environment) 736 SB
- X1899 775 26 (2) 26 SB
- X419 839 78 (2.2.) 78 SB
- X531 839 951 (Data Structures: Flow, Rule and Action Tables) 951 SB
- X1899 839 26 (2) 26 SB
- X419 903 78 (2.3.) 78 SB
- X531 903 581 (Meter Memory Management) 581 SB
- X1899 903 26 (3) 26 SB
- X419 967 78 (2.4.) 78 SB
- X531 967 533 (Optimising the Rule Table) 533 SB
- X1899 967 26 (3) 26 SB
- X419 1031 78 (2.5.) 78 SB
- X531 1031 498 (The Meter's Outer Block) 498 SB
- X1899 1031 26 (3) 26 SB
- X419 1095 78 (2.6.) 78 SB
- X531 1095 397 (Matching the Rules) 397 SB
- X1899 1095 26 (4) 26 SB
- X419 1159 78 (2.7.) 78 SB
- X531 1159 764 (SNMP: Getting and Setting Variables) 764 SB
- X1899 1159 26 (4) 26 SB
- X419 1223 78 (2.8.) 78 SB
- X531 1223 577 (Creation and Activity Tables) 577 SB
- X1899 1223 26 (4) 26 SB
- X419 1287 78 (2.9.) 78 SB
- X531 1287 872 (Column Blobs: Recovering Bulk Flow Data) 872 SB
- X1899 1287 26 (4) 26 SB
- Xgs 1907 79 233 1341 CB
- X330 1366 39 (3.) 39 SB
- Xgr
- Xgs 1907 79 233 1341 CB
- X405 1366 306 (Flow Attributes) 306 SB
- Xgr
- Xgs 1907 79 233 1341 CB
- X1899 1366 26 (5) 26 SB
- Xgr
- X419 1430 78 (3.1.) 78 SB
- X531 1430 243 (Introduction) 243 SB
- X1899 1430 26 (5) 26 SB
- X419 1494 78 (3.2.) 78 SB
- X531 1494 380 (Ethernet attributes) 380 SB
- X1899 1494 26 (5) 26 SB
- X419 1558 78 (3.2.) 78 SB
- X531 1558 248 (IP attributes) 248 SB
- X1899 1558 26 (6) 26 SB
- X419 1622 78 (3.3.) 78 SB
- X531 1622 366 (DECnet attributes) 366 SB
- X1899 1622 26 (6) 26 SB
- X419 1686 78 (3.4.) 78 SB
- X531 1686 420 (Novell IPX attributes) 420 SB
- X1899 1686 26 (7) 26 SB
- X419 1750 78 (3.5.) 78 SB
- X531 1750 402 (EtherTalk attributes) 402 SB
- X1899 1750 26 (7) 26 SB
- X419 1814 78 (3.6.) 78 SB
- X531 1814 369 (General attributes) 369 SB
- X1899 1814 26 (8) 26 SB
- Xgs 1907 79 233 1868 CB
- X330 1893 39 (4.) 39 SB
- Xgr
- Xgs 1907 79 233 1868 CB
- X405 1893 318 (Flow Data Files) 318 SB
- Xgr
- Xgs 1907 79 233 1868 CB
- X1899 1893 26 (8) 26 SB
- Xgr
- X419 1957 78 (4.1.) 78 SB
- X531 1957 417 (Information Records) 417 SB
- X1899 1957 26 (8) 26 SB
- X419 2021 78 (4.2.) 78 SB
- X531 2021 465 (Sample Flow Data File) 465 SB
- X1899 2021 26 (9) 26 SB
- X419 2085 78 (4.3.) 78 SB
- X531 2085 404 (Flow Data Features) 404 SB
- X1873 2085 52 (10) 52 SB
- Xgs 1907 79 233 2139 CB
- X330 2164 39 (5.) 39 SB
- Xgr
- Xgs 1907 79 233 2139 CB
- X405 2164 361 (Writing Rule Files) 361 SB
- Xgr
- Xgs 1907 79 233 2139 CB
- X1873 2164 52 (10) 52 SB
- Xgr
- X419 2228 78 (5.1.) 78 SB
- X531 2228 243 (Introduction) 243 SB
- X1873 2228 52 (10) 52 SB
- X419 2292 78 (5.2.) 78 SB
- X531 2292 322 (Rule file Syntax) 322 SB
- X1873 2292 52 (11) 52 SB
- X537 2346 117 (5.2.1.) 117 SB
- X687 2346 390 (RuleSet Statement) 390 SB
- X1873 2346 52 (11) 52 SB
- X537 2400 117 (5.2.2.) 117 SB
- X687 2400 286 (Rules Section) 286 SB
- X1873 2400 52 (11) 52 SB
- X537 2454 117 (5.2.3.) 117 SB
- X687 2454 320 (Actions Section) 320 SB
- X1873 2454 52 (12) 52 SB
- X537 2508 117 (5.2.4.) 117 SB
- X687 2508 371 (Format Statement) 371 SB
- X1873 2508 52 (13) 52 SB
- X537 2562 117 (5.2.5.) 117 SB
- X687 2562 410 (Statistics Statement) 410 SB
- X1873 2562 52 (13) 52 SB
- X419 2626 78 (5.3.) 78 SB
- X531 2626 218 ( Rule Files) 218 SB
- X1873 2626 52 (13) 52 SB
- X537 2680 117 (5.3.1.) 117 SB
- X687 2680 253 (rules.default) 253 SB
- X1873 2680 52 (13) 52 SB
- X537 2734 117 (5.3.2.) 117 SB
- X687 2734 262 (rules.sample) 262 SB
- X1873 2734 52 (14) 52 SB
- X537 2788 117 (5.3.3.) 117 SB
- X687 2788 286 (rules.gateway) 286 SB
- X1873 2788 52 (16) 52 SB
- X537 2842 117 (5.3.4.) 117 SB
- X687 2842 216 (rules.UofA) 216 SB
- X1873 2842 52 (16) 52 SB
- X537 2896 117 (5.3.5.) 117 SB
- X687 2896 175 (rules.lan) 175 SB
- X1873 2896 52 (18) 52 SB
- X32 0 0 46 46 1 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3186 416 ( ) 416 SB
- X687 3186 416 ( ) 416 SB
- X1103 3186 78 ( ) 78 SB
- X1171 3186 416 ( ) 416 SB
- X1587 3186 416 ( ) 416 SB
- X2003 3186 78 ( ) 78 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3265 182 (10/15/93) 182 SB
- X1111 3265 43 (-- ) 43 SB
- X1154 3265 20 (ii) 20 SB
- X1174 3265 56 ( --) 56 SB
- X1866 3265 205 (NeTraMet) 205 SB
- XEJ RS
- X%%PageTrailer
- XSS
- X0 0 18 13 783 1169 300 SM
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- Xgs 1907 79 233 389 CB
- X330 414 39 (6.) 39 SB
- Xgr
- Xgs 1907 79 233 389 CB
- X405 414 463 (NeMaC Users' Manual) 463 SB
- Xgr
- Xgs 1907 79 233 389 CB
- X1873 414 52 (19) 52 SB
- Xgr
- X419 478 78 (6.1.) 78 SB
- X531 478 462 (Overview of NeTraMet) 462 SB
- X1873 478 52 (19) 52 SB
- X419 542 78 (6.2.) 78 SB
- X531 542 487 (Command Line Options) 487 SB
- X1873 542 52 (19) 52 SB
- X419 606 78 (6.3.) 78 SB
- X531 606 522 (Configuration File Format) 522 SB
- X1873 606 52 (20) 52 SB
- Xgs 1907 79 233 660 CB
- X330 685 39 (7.) 39 SB
- Xgr
- Xgs 1907 79 233 660 CB
- X405 685 512 (NeTraMet Users' Manual) 512 SB
- Xgr
- Xgs 1907 79 233 660 CB
- X1873 685 52 (20) 52 SB
- Xgr
- X419 749 78 (7.1.) 78 SB
- X531 749 487 (Command Line Options) 487 SB
- X1873 749 52 (20) 52 SB
- X419 813 78 (7.2.) 78 SB
- X531 813 388 (PC Screen Display) 388 SB
- X1873 813 52 (21) 52 SB
- X419 877 78 (7.3.) 78 SB
- X531 877 448 (Keyboard Commands) 448 SB
- X1873 877 52 (21) 52 SB
- X419 941 78 (7.4.) 78 SB
- X531 941 426 (PC Statistics Display) 426 SB
- X1873 941 52 (22) 52 SB
- X419 1005 78 (7.5.) 78 SB
- X531 1005 825 (Configuring Waterloo TCP for NeTraMet) 825 SB
- X1873 1005 52 (23) 52 SB
- X419 1069 78 (7.6.) 78 SB
- X531 1069 599 (Sample AUTOEXEC.BAT file) 599 SB
- X1873 1069 52 (23) 52 SB
- X419 1133 78 (7.7.) 78 SB
- X531 1133 1209 (Differences between PC and SunOS versions of NeTraMet) 1209 SB
- X1873 1133 52 (23) 52 SB
- Xgs 1907 79 233 1187 CB
- X330 1212 39 (8.) 39 SB
- Xgr
- Xgs 1907 79 233 1187 CB
- X405 1212 449 (NeTraMet Distribution) 449 SB
- Xgr
- Xgs 1907 79 233 1187 CB
- X1873 1212 52 (24) 52 SB
- Xgr
- X419 1276 78 (8.1.) 78 SB
- X531 1276 441 (CopyRight Statement) 441 SB
- X1873 1276 52 (24) 52 SB
- X419 1340 78 (8.2.) 78 SB
- X531 1340 344 (DIstribution Files) 344 SB
- X1873 1340 52 (24) 52 SB
- Xgs 1936 316 233 1394 CB
- X330 1419 39 (9.) 39 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X405 1419 222 (Installation) 222 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X1873 1419 52 (24) 52 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X330 1498 65 (10.) 65 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X419 1498 384 (NeTraMet's Future) 384 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X1873 1498 52 (25) 52 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X330 1577 65 (11.) 65 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X419 1577 376 (Acknowledgments) 376 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X1873 1577 52 (26) 52 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X330 1656 65 (11.) 65 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X419 1656 237 (References) 237 SB
- Xgr
- Xgs 1936 316 233 1394 CB
- X1873 1656 52 (26) 52 SB
- Xgr
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 2683 1839 (Nevil Brownlee is the Deputy Director of the University of Auckland Computer Centre, and) 1839 SB
- X271 2737 1847 (is responsible for support and development of the University's campus network, which has) 1847 SB
- X271 2791 1820 (about 2,500 connected hosts. He is closely involved with Tuia, New Zealand's Research) 1820 SB
- X271 2845 1747 (and Education network, co-ordinates Kawaihiko, the New Zealand Universities' group) 1747 SB
- X271 2899 1795 (within Tuia, and is active within the IETF, especially on the Internet Accounting Working) 1795 SB
- X271 2953 1181 (Group. He holds a Ph.D. degree in Atmospheric Physics.) 1181 SB
- X32 0 0 46 46 1 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3186 416 ( ) 416 SB
- X687 3186 416 ( ) 416 SB
- X1103 3186 78 ( ) 78 SB
- X1171 3186 416 ( ) 416 SB
- X1587 3186 416 ( ) 416 SB
- X2003 3186 78 ( ) 78 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3265 182 (10/15/93) 182 SB
- X1106 3265 43 (-- ) 43 SB
- X1149 3265 30 (iii) 30 SB
- X1179 3265 56 ( --) 56 SB
- X1866 3265 205 (NeTraMet) 205 SB
- XEJ RS
- X%%PageTrailer
- XSS
- X0 0 18 13 783 1169 300 SM
- X32 0 0 58 58 0 0 0 54 /Helvetica-Bold /font13 ANSIFont font
- X0 0 0 fC
- Xgs 323 3426 0 0 CB
- X271 339 48 (1.) 48 SB
- Xgr
- X360 339 16 (I) 18 SB
- X378 339 35 (n) 37 SB
- X415 339 19 (t) 21 SB
- X436 339 23 (r) 25 SB
- X461 339 35 (o) 37 SB
- X498 339 35 (d) 37 SB
- X535 339 35 (u) 37 SB
- X572 339 32 (c) 34 SB
- X606 339 19 (t) 21 SB
- X627 339 16 (i) 18 SB
- X645 339 35 (o) 37 SB
- X682 339 35 (n) 37 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 431 1763 (NeTraMet is a meter for network traffic flows \(see below for definitions\), and is the first) 1763 SB
- X271 485 1628 (implementation of the Internet Accounting Working Group's Internet Accounting) 1628 SB
- X271 539 1780 (Architecture. This is outlined in RFC 1272, "Internet Accounting Background," and has) 1780 SB
- X271 593 385 (three components:) 385 SB
- X32 0 0 46 46 0 0 0 46 /Symbol font
- Xgs 351 3426 0 0 CB
- X330 669 21 (\267) 21 SB
- Xgr
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X389 672 1424 (meters, i.e, small hosts which are attached to a network segment and) 1424 SB
- X389 726 823 (measure traffic flowing on that segment;) 823 SB
- X32 0 0 46 46 0 0 0 46 /Symbol font
- Xgs 351 3426 0 0 CB
- X330 802 21 (\267) 21 SB
- Xgr
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X389 805 1020 (collectors, which retrieve information from meters;) 1020 SB
- X32 0 0 46 46 0 0 0 46 /Symbol font
- Xgs 351 3426 0 0 CB
- X330 881 21 (\267) 21 SB
- Xgr
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X389 884 1564 (managers, which instruct meters as to which flows they should measure and) 1564 SB
- X389 938 1468 (collectors as to which meters they should collect from, at what intervals.) 1468 SB
- X271 1017 1758 (A collector can collect flow data from many meters, and each meter may have its data) 1758 SB
- X271 1071 1821 (retrieved by several collectors. Traffic flows of interest are defined by user-specified sets) 1821 SB
- X271 1125 165 (of rules.) 165 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X271 1212 84 (1.1.) 84 SB
- X413 1212 587 (Operating Environments) 587 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 1295 1781 (This release of NeTraMet runs on a SunOS host, using NIT to observe ethernet packet) 1781 SB
- X271 1349 1783 (headers, or on a PC using a CRYNWYR packet driver. The PC implementation can be) 1783 SB
- X271 1403 1794 (used with a 10 MHz 286 machine, on which it can handle a steady packet load of about) 1794 SB
- X271 1457 1724 (750 packets per second. On a 25 MHz 386SX it will handle about 1250 packets per) 1724 SB
- X271 1511 1839 (second. NeTraMet can cope with peak traffic bursts of up to 2250 packets per second for) 1839 SB
- X271 1565 539 (several seconds at a time.) 539 SB
- X271 1644 1803 (This release also includes NeMaC \(NeTraMet Manager/Collector\), a combined manager) 1803 SB
- X271 1698 1802 (and collector program. It runs on Unix systems, and Make files are included for SunOS) 1802 SB
- X271 1752 347 (and Irix systems.) 347 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X271 1839 84 (1.2.) 84 SB
- X413 1839 311 (Traffic Flows) 311 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 1922 1854 (A traffic flow is a stream of packets exchanged between two network hosts, which we refer) 1854 SB
- X271 1976 1829 (to as the flow's source and destination. Flows are bi-directional in that packets and bytes) 1829 SB
- X271 2030 1674 (can be counted in the 'to' \(source to destination\) and 'from' \(destination to source\)) 1674 SB
- X271 2084 211 (directions.) 211 SB
- X271 2163 1808 (The 'identity' of a flow is determined by the address attributes of its two hosts, and these) 1808 SB
- X271 2217 649 (attributes can be of three kinds:) 649 SB
- X389 2296 176 (adjacent) 176 SB
- X626 2296 212 (\(link layer\)) 212 SB
- X389 2350 93 (peer) 93 SB
- X626 2350 305 (\(network layer\)) 305 SB
- X389 2404 111 (detail) 111 SB
- X626 2404 326 (\(transport layer\)) 326 SB
- X271 2483 1190 (Since NeTraMet is \(so far\) only implemented on ethernet, ) 1190 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X1461 2483 403 (adjacent addresses) 403 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1864 2483 251 ( can only be) 251 SB
- X271 2537 411 (ethernet addresses.) 411 SB
- X271 2616 44 (A ) 44 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X315 2616 271 (peer address) 271 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X586 2616 1423 ( can be an IP address, a DECnet phase IV address, a Novell network) 1423 SB
- X271 2670 1802 (number or an EtherTalk address, these being the four protocols currently understood by) 1802 SB
- X271 2724 218 (NeTraMet.) 218 SB
- X271 2803 44 (A ) 44 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X315 2803 289 (detail address) 289 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X604 2803 1476 ( contains specifications for details within the peer protocol. For IP these) 1476 SB
- X271 2857 1828 (are the protocol type and source and destination port numbers, and similar kinds of detail) 1828 SB
- X271 2911 711 (are defined for the other protocols.) 711 SB
- X271 2990 1811 (Within the meter a flow is implemented as a data structure containing the attributes of its) 1811 SB
- X271 3044 1681 (source and destination, its packet and byte counters, the times it was first and last) 1681 SB
- X271 3098 1206 (observed, and other information used for control purposes.) 1206 SB
- X32 0 0 46 46 1 0 0 43 /Helvetica /font12 ANSIFont font
- X271 3186 416 ( ) 416 SB
- X687 3186 416 ( ) 416 SB
- X1103 3186 78 ( ) 78 SB
- X1171 3186 416 ( ) 416 SB
- X1587 3186 416 ( ) 416 SB
- X2003 3186 78 ( ) 78 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3265 182 (10/15/93) 182 SB
- X1115 3265 43 (-- ) 43 SB
- X1158 3265 26 (1) 26 SB
- X1184 3265 43 ( --) 43 SB
- X1866 3265 205 (NeTraMet) 205 SB
- XEJ RS
- X%%PageTrailer
- XSS
- X0 0 18 13 783 1169 300 SM
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X271 256 1672 (The meter could simply create flows for every possible combination of source and) 1672 SB
- X271 310 1814 (destination attributes it observes, but this would quickly exhaust its memory. Instead the) 1814 SB
- X271 364 1732 (meter uses a set of rules to decide which flows are of interest, and other packets are) 1732 SB
- X271 418 168 (ignored.) 168 SB
- X271 497 1799 (Each rule tests one attribute of a flow, using a mask to specify which bits are of interest.) 1799 SB
- X271 551 1792 (In this way a tree of rules can be built up to classify packets into flows; each packet can) 1792 SB
- X271 605 1723 (then be 'counted' in its appropriate flow. If this is all that the rules specify, no further) 1723 SB
- X271 659 1030 (information about the flow is retained in the meter.) 1030 SB
- X271 738 1783 (If more detail is required, the rules can instruct the meter to 'tally' the packet, i.e, create) 1783 SB
- X271 792 1826 (many sub-flows instead of a single flow. For example they might determine that a packet) 1826 SB
- X271 846 1840 (has come from a class B IP source, then tally it into flows for each of the source network's) 1840 SB
- X271 900 1859 (class C subnets. Sub-flow details are specified by a set of attribute masks, which make up) 1859 SB
- X271 954 39 (a ) 39 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X310 954 232 (tally action.) 232 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 1033 1825 (It is also possible to combine several flows together in the meter. Each of the flows to be) 1825 SB
- X271 1087 573 (combined will then have an ) 573 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X844 1087 347 (aggregate action) 347 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1191 1087 934 ( which specifies all the attribute values for the) 934 SB
- X271 1141 318 (aggregate flow.) 318 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- X271 1228 84 (1.3.) 84 SB
- X413 1228 1055 (The Internet Accounting Meter Services MIB) 1055 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 1311 1682 (The Internet Accounting Group produced an Internet Draft describing its proposed) 1682 SB
- X271 1365 1693 (Accounting Meter Services MIB, which was assigned the number Experimental.99.) 1693 SB
- X271 1444 1757 (The draft was discussed over several IETF meetings until the Working Group became) 1757 SB
- X271 1498 1808 (dormant in March 1993, and informally at meetings and via the Group's mailing list since) 1808 SB
- X271 1552 1787 (then. A copy of the current version - which NeTraMet implements - is included with this) 1787 SB
- X271 1606 1557 (release. It defines all of the MIB variables mentioned in this documentation.) 1557 SB
- X32 0 0 58 58 0 0 0 54 /Helvetica-Bold /font13 ANSIFont font
- Xgs 323 3426 0 0 CB
- X271 1743 48 (2.) 48 SB
- Xgr
- X360 1743 16 (I) 18 SB
- X378 1743 52 (m) 54 SB
- X432 1743 35 (p) 37 SB
- X469 1743 16 (l) 18 SB
- X487 1743 32 (e) 34 SB
- X521 1743 52 (m) 54 SB
- X575 1743 32 (e) 34 SB
- X609 1743 35 (n) 37 SB
- X646 1743 19 (t) 21 SB
- X667 1743 32 (a) 34 SB
- X701 1743 19 (t) 21 SB
- X722 1743 16 (i) 18 SB
- X740 1743 35 (o) 37 SB
- X777 1743 35 (n) 37 SB
- X814 1743 16 ( ) 18 SB
- X832 1743 42 (D) 44 SB
- X876 1743 32 (e) 34 SB
- X910 1743 19 (t) 21 SB
- X931 1743 32 (a) 34 SB
- X965 1743 16 (i) 18 SB
- X983 1743 16 (l) 18 SB
- X1001 1743 32 (s) 34 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 1843 84 (2.1.) 84 SB
- Xgr
- X413 1843 856 (Program Development Environment) 856 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 1926 1687 (NeTraMet was developed on a PC using Borland's Turbo C, Turbo Assembler and) 1687 SB
- X271 1980 1841 (interactive development environment. Turbo Make was used to organise the system, with) 1841 SB
- X271 2034 1451 (Make files specifying how the various system components are created.) 1451 SB
- X271 2113 1836 (Waterloo C provided a good PC implementation of TCP/IP, and was used to provide UDP) 1836 SB
- X271 2167 1812 (transport for SNMP packets. Waterloo C interfaces with ethernet via a CRYNWR packet) 1812 SB
- X271 2221 1835 (driver. I extended the packet interface to support monitoring by running the ethernet card) 1835 SB
- X271 2275 1475 (in promiscuous mode and copying packet headers into a rotating buffer.) 1475 SB
- X271 2354 1745 (An early version of CMU SNMP was used for communication between NeTraMet and) 1745 SB
- X271 2408 1656 (NeMaC. This was ported to the PC, and extended to support SET operations on) 1656 SB
- X271 2462 809 (character and \(16-bit\) integer variables.) 809 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 2549 84 (2.2.) 84 SB
- Xgr
- X413 2549 1106 (Data Structures: Flow, Rule and Action Tables) 1106 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 2632 1850 (Host addresses \(adjacent, peer and detail\) and their masks are held in a structure called a) 1850 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 2686 85 (key.) 85 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X356 2686 1599 ( A flow is a larger structure which contains two keys, one each for source and) 1599 SB
- X271 2740 1789 (destination host. General attributes are stored as variables within a flow, and there is a) 1789 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 2794 69 (link) 69 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X340 2794 1711 ( field to enable flows to be linked together. Space for flows is allocated dynamically) 1711 SB
- X271 2848 1751 (from a pool of flows. The flow table is implemented as an array of pointers to flows; a) 1751 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 2902 211 (FlowIndex) 211 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X482 2902 539 ( is an index into this array.) 539 SB
- X271 2981 1745 (Rules are implemented in a smaller structure. Space for a rule table is allocated as a) 1745 SB
- X271 3035 486 (single block of memory.) 486 SB
- X32 0 0 46 46 1 0 0 43 /Helvetica /font12 ANSIFont font
- X271 3186 416 ( ) 416 SB
- X687 3186 416 ( ) 416 SB
- X1103 3186 78 ( ) 78 SB
- X1171 3186 416 ( ) 416 SB
- X1587 3186 416 ( ) 416 SB
- X2003 3186 78 ( ) 78 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3265 182 (10/15/93) 182 SB
- X1115 3265 43 (-- ) 43 SB
- X1158 3265 26 (2) 26 SB
- X1184 3265 43 ( --) 43 SB
- X1866 3265 205 (NeTraMet) 205 SB
- XEJ RS
- X%%PageTrailer
- XSS
- X0 0 18 13 783 1169 300 SM
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X0 0 0 fC
- X271 256 1853 (Actions are stored in a flow structure, since they have exactly the same set of components) 1853 SB
- X271 310 1227 (as a flow. An action table is an array of pointers to actions.) 1227 SB
- X271 389 1632 (The first time a flow is observed the meter allocates space for it and assigns it a) 1632 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 443 250 (FlowIndex. ) 250 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X521 443 1566 (The addresses of count and tally flows are held in the rule and action tables.) 1566 SB
- X271 497 1800 (Tallies are implemented as hash tables; a hash table's address is held in its action table) 1800 SB
- X271 551 116 (entry.) 116 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 638 84 (2.3.) 84 SB
- Xgr
- X413 638 662 (Meter Memory Management) 662 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 721 1829 (Once a flow has been created it could continue to exist indefinitely. In time, however, the) 1829 SB
- X271 775 1772 (meter will run out of space for new flows. To deal with this problem NeTraMet uses an) 1772 SB
- X271 829 621 (incremental garbage collector.) 621 SB
- X271 908 735 (At regular intervals specified by the ) 735 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X1006 908 510 (GarbagecCollectInterval ) 510 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1516 908 609 (variable the garbage collector) 609 SB
- X271 962 1815 (procedure is invoked. This searches through the flow table looking for flows which might) 1815 SB
- X271 1016 1805 (be recovered. To control the resources consumed by garbage collection there are limits) 1805 SB
- X271 1070 1858 (on the number of in-use and idle flows which the garbage collector may inspect - these are) 1858 SB
- X271 1124 1410 (the parameters described in the 'PC Statistics display' section below.) 1410 SB
- X271 1203 1794 (To decide whether a flow can be recovered, the garbage collector considers how long it) 1794 SB
- X271 1257 1828 (has been inactive \(no packets in either direction\), and when its data was last collected. If) 1828 SB
- X271 1311 894 (it has been collected at least once since its ) 894 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X1165 1311 203 (LastTime,) 203 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1368 1311 749 ( it may be recovered. This alogrithm) 749 SB
- X271 1365 796 (is implemented using a variable called ) 796 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X1067 1365 437 (GarbageCollectTime,) 437 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1504 1365 582 ( which normally contains the) 582 SB
- X271 1419 163 (meter's ) 163 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X434 1419 161 (UpTime) 161 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X595 1419 901 ( when the collection before last was started.) 901 SB
- X271 1498 1740 (Should flows not be collected often enough the meter could run out of space. This is) 1740 SB
- X271 1552 1801 (prevented by having a low-priority background process check the percentage of flows in) 1801 SB
- X271 1606 581 (use and compare it with the ) 581 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X852 1606 320 (HighWaterMark) 320 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1172 1606 917 ( variable. If the percentage of flows in use is) 917 SB
- X271 1660 699 (greater than the high-water mark, ) 699 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X970 1660 424 (GarbageCollectTime) 424 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1394 1660 735 ( is incremented by the current value) 735 SB
- X271 1714 130 (of the ) 130 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X401 1714 347 (InactivityTimeout) 347 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X748 1714 1344 ( variable. The effect of this is that if a collector fails NeTraMet will) 1344 SB
- X271 1768 599 (continue to create flows until ) 599 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X870 1768 320 (HighWaterMark) 320 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1190 1768 930 ( is exceeded, then recover the oldest flows to) 930 SB
- X271 1822 656 (maintain sufficient free memory.) 656 SB
- X271 1901 1832 (The MIB specifies that a meter should generate an SNMP trap if flow data is lost; this has) 1832 SB
- X271 1955 1822 (not yet been implemented. The values of the memory management variables mentioned) 1822 SB
- X271 2009 1750 (above can be set by NeMaC - it should be possible to tune them to work effectively in) 1750 SB
- X271 2063 332 (nearly all cases.) 332 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 2150 84 (2.4.) 84 SB
- Xgr
- X413 2150 622 (Optimising the Rule Table) 622 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 2233 1836 (Rules are commonly tested in sequence until a successful match selects a new index into) 1836 SB
- X271 2287 1711 (the rule table. Testing a packet against a long list of addresses is thus a sequential) 1711 SB
- X271 2341 1783 (search, which would be slow. To improve rule testing performance NeTraMet performs) 1783 SB
- X271 2395 1819 (flow analysis of a new rule table, looking for groups of rules which test the same attribute) 1819 SB
- X271 2449 1807 (using the same mask. Groups which have more than four rules are organised into small) 1807 SB
- X271 2503 1683 (hash tables - these can effectively be tested with a hash computation and a single) 1683 SB
- X271 2557 193 (compare.) 193 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 2644 84 (2.5.) 84 SB
- Xgr
- X413 2644 577 (The Meter's Outer Block) 577 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 2727 1814 (MeTraMet's outer block is a single loop which implements four asynchronous processes.) 1814 SB
- X271 2781 826 (These are - in decreasing priority order -) 826 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 290 3426 0 0 CB
- X271 2861 19 (\267) 19 SB
- Xgr
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X345 2860 484 (Handle SNMP requests) 484 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X829 2860 924 (. Process these and send SNMP responses.) 924 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 290 3426 0 0 CB
- X271 2940 19 (\267) 19 SB
- Xgr
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X345 2939 511 (Monitor ethernet packets) 511 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X856 2939 1112 ( \(including NeTraMet SNMP requests and responses\).) 1112 SB
- X345 2993 1243 (Test each against the current rule set and count as required.) 1243 SB
- X32 0 0 46 46 1 0 0 43 /Helvetica /font12 ANSIFont font
- X271 3186 416 ( ) 416 SB
- X687 3186 416 ( ) 416 SB
- X1103 3186 78 ( ) 78 SB
- X1171 3186 416 ( ) 416 SB
- X1587 3186 416 ( ) 416 SB
- X2003 3186 78 ( ) 78 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 3265 182 (10/15/93) 182 SB
- X1115 3265 43 (-- ) 43 SB
- X1158 3265 26 (3) 26 SB
- X1184 3265 43 ( --) 43 SB
- X1866 3265 205 (NeTraMet) 205 SB
- XEJ RS
- X%%PageTrailer
- XSS
- X0 0 18 13 783 1169 300 SM
- X32 0 0 42 42 0 0 0 42 /Symbol font
- X0 0 0 fC
- Xgs 290 3426 0 0 CB
- X271 257 19 (\267) 19 SB
- Xgr
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X345 256 603 (Handle keyboard commands.) 603 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X948 256 893 ( Test the keyboard once each second, and) 893 SB
- X345 310 695 (process any incoming keystrokes.) 695 SB
- X32 0 0 42 42 0 0 0 42 /Symbol font
- Xgs 290 3426 0 0 CB
- X271 390 19 (\267) 19 SB
- Xgr
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X345 389 450 (Memory Management) 450 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X795 389 1039 (. Attempt to recover memory, as described above.) 1039 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X345 443 474 (GarbageCollectInterval) 474 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X819 443 730 ( is set to 5 seconds by default, and ) 730 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X1549 443 320 (HighWaterMark) 320 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1869 443 46 ( is) 46 SB
- X345 497 517 (tested every 30 seconds.) 517 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 584 84 (2.6.) 84 SB
- Xgr
- X413 584 463 (Matching the Rules) 463 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 667 1772 (When a packet arrives at the meter two key data structures are built, one for its source) 1772 SB
- X271 721 1789 (and one for its destination. An attempt is made to match the packet against the current) 1789 SB
- X271 775 1858 (rule set with the keys in source-to-destination order; if this succeeds the packet is counted.) 1858 SB
- X271 854 1758 (If the match fails, the keys are interchanged and the packet is tested against the rules) 1758 SB
- X271 908 804 (again. If it fails this time it is discarded.) 804 SB
- X271 987 1837 (A third possibility is that the packet matched a tally rule, but its flow was not yet present in) 1837 SB
- X271 1041 1767 (the tally. Since it might already have been seen travelling in the opposite direction the) 1767 SB
- X271 1095 1842 (match is retried with the keys interchanged. If this fails the flow is added into the tally with) 1842 SB
- X271 1149 783 (its keys in source-to-destination order.) 783 SB
- X271 1228 1738 (This algorithm means that you can use symmetrical tallies, i.e. tallies having identical) 1738 SB
- X271 1282 1852 (masks in both directions, if you don't care about flow direction. Alternatively you may write) 1852 SB
- X271 1336 1833 (rules which enforce a particular source-to-destination order. Examples of these are given) 1833 SB
- X271 1390 817 (in the section on writing rule files below.) 817 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 1477 84 (2.7.) 84 SB
- Xgr
- X413 1477 878 (SNMP: Getting and Setting Variables) 878 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 1560 1589 (The code for getting and setting SNMP variables was developed from CMU's ) 1589 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X1860 1560 236 (snmpvars.c) 236 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 1614 1714 (file. I have modified this to use a binary search to find object identifiers as required,) 1714 SB
- X271 1668 719 (replacing the original linear search.) 719 SB
- X271 1747 1765 (Simple procedures for setting character, \(16-bit\) integer and \(32-bit\) long variables are) 1765 SB
- X271 1801 1460 (used when no special action is required. Special actions, e.g. updating) 1460 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X271 1855 424 (GarbageCollectTime) 424 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X695 1855 215 ( when the ) 215 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica-Oblique /font19 ANSIFont font
- X910 1855 331 (LastCollectTime) 331 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X1241 1855 729 ( variable is set, are implemented as) 729 SB
- X271 1909 451 (individual procedures.) 451 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 1996 84 (2.8.) 84 SB
- Xgr
- X413 1996 678 (Creation and Activity Tables) 678 SB
- X32 0 0 46 46 0 0 0 43 /Helvetica /font12 ANSIFont font
- X271 2079 1590 (A rather unusual requirement for the accounting meter is the ability to support) 1590 SB
- X271 2133 1842 (asynchronous collection of flow data by many meters simultaneously. This is described in) 1842 SB
- X271 2187 1859 (the MIB by the Creation and Activity tables, which provide a collector with windows into the) 1859 SB
- X271 2241 1805 (flow table, allowing it to inspect only those flows created or active since a specified time.) 1805 SB
- X271 2295 1789 (This time is passed to the meter as one component of an object identifier; you can view) 1789 SB
- X271 2349 1837 (this as a parameter being passed to the GET procedure which implements the creation or) 1837 SB
- X271 2403 268 (activity table.) 268 SB
- X271 2482 1808 (Another aspect of having multiple collectors is that one of them may collect performance) 1808 SB
- X271 2536 1700 (statistics. One possibility would be to have one meter collecting flow data every 15) 1700 SB
- X271 2590 1739 (minutes, a second collecting flow data every hour, and a third collecting performance) 1739 SB
- X271 2644 853 (statistics \(but not flow data\) every minute.) 853 SB
- X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
- Xgs 355 3426 0 0 CB
- X271 2731 84 (2.9.) 84 SB
- Xgr
- END_OF_FILE
- if test 47198 -ne `wc -c <'netramet/doc/NeTraMet/NeTraMet.man.ps.A'`; then
- echo shar: \"'netramet/doc/NeTraMet/NeTraMet.man.ps.A'\" unpacked with wrong size!
- else
- PARTS=""
- for I in A B C D ; do
- if test -f netramet/doc/NeTraMet/NeTraMet.man.ps.$I ; then
- PARTS="${PARTS}${I}"
- fi
- if test "${PARTS}" = "ABCD" ; then
- echo shar: Combining \"'netramet/doc/NeTraMet/NeTraMet.man.ps'\" \(188008 characters\)
- cat netramet/doc/NeTraMet/NeTraMet.man.ps.[A-D] > 'netramet/doc/NeTraMet/NeTraMet.man.ps'
- if test 188008 -ne `wc -c <'netramet/doc/NeTraMet/NeTraMet.man.ps'`; then
- echo shar: \"'netramet/doc/NeTraMet/NeTraMet.man.ps'\" combined with wrong size!
- else
- rm netramet/doc/NeTraMet/NeTraMet.man.ps.[A-D]
- fi
- fi
- done
- fi
- # end of 'netramet/doc/NeTraMet/NeTraMet.man.ps.A'
- fi
- if test -f 'netramet/sg/apps/snmpnetstat/Makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'netramet/sg/apps/snmpnetstat/Makefile'\"
- else
- echo shar: Extracting \"'netramet/sg/apps/snmpnetstat/Makefile'\" \(1593 characters\)
- sed "s/^X//" >'netramet/sg/apps/snmpnetstat/Makefile' <<'END_OF_FILE'
- X# Modified by Nevil Brownlee, Auckland University
- X# Silicon Graphics version
- X#
- X#
- X# Copyright (c) 1987 Regents of the University of California.
- X# All rights reserved.
- X#
- X# Redistribution and use in source and binary forms are permitted
- X# provided that the above copyright notice and this paragraph are
- X# duplicated in all such forms and that any documentation,
- X# advertising materials, and other materials related to such
- X# distribution and use acknowledge that the software was developed
- X# by the University of California, Berkeley. The name of the
- X# University may not be used to endorse or promote products derived
- X# from this software without specific prior written permission.
- X# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- X# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- X# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- X#
- X# @(#)Makefile 5.10 (Berkeley) 9/20/88
- X#
- XSINCLUDE= ../../../src/snmplib/include
- X
- X#CFLAGS= -g -I$(SINCLUDE) -cckr -D_BSD_SIGNALS -D_BSD_COMPAT
- XCFLAGS= -g -I$(SINCLUDE) -D_BSD_SIGNALS -D_BSD_COMPAT
- X
- XLIBS= ../../snmplib/libsnmp.a
- X
- XSRC= ../../../src/apps/snmpnetstat
- X
- XSRCS= ${SRC}/inet.c ${SRC}/if.c ${SRC}/main.c ${SRC}/route.c
- XOBJS= ${SRC}/inet.o ${SRC}/if.o ${SRC}/main.o ${SRC}/route.o
- X
- Xall: snmpnetstat
- X
- Xsnmpnetstat: ${SRCS} ${LIBS}
- X ${CC} -o $@ ${CFLAGS} ${SRCS} ${LIBS}
- X
- Xclean:
- X rm -f ${OBJS} core snmpnetstat
- X
- Xcleandir: clean
- X rm -f ${MAN} tags .depend
- X
- Xdepend: ${SRCS}
- X mkdep ${CFLAGS} ${SRCS}
- X
- Xlint: ${SRCS}
- X lint ${CFLAGS} ${SRCS}
- X
- Xtags: ${SRCS}
- X ctags ${SRCS}
- X
- Xinstall:
- X cp snmpnetstat ../../bin
- X
- END_OF_FILE
- if test 1593 -ne `wc -c <'netramet/sg/apps/snmpnetstat/Makefile'`; then
- echo shar: \"'netramet/sg/apps/snmpnetstat/Makefile'\" unpacked with wrong size!
- fi
- # end of 'netramet/sg/apps/snmpnetstat/Makefile'
- fi
- if test -f 'netramet/src/meter/meter_ux.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'netramet/src/meter/meter_ux.c'\"
- else
- echo shar: Extracting \"'netramet/src/meter/meter_ux.c'\" \(11571 characters\)
- sed "s/^X//" >'netramet/src/meter/meter_ux.c' <<'END_OF_FILE'
- X/* 1712, Wed 5 Oct 93
- X
- X SNMPD.C: The AU Internet Accouting Meter mainline;
- X based on CMU's snmpd,
- X PCIP's packet monitoring
- X and Waterloo's TCP/IP.
- X
- X Copyright (C) 1992,1993 by Nevil Brownlee,
- X Computer Centre, University of Auckland */
- X
- X/*
- X * snmpd.c - send snmp GET requests to a network entity.
- X *
- X */
- X/***********************************************************
- X Copyright 1988, 1989 by Carnegie Mellon University
- X
- X All Rights Reserved
- X
- XPermission to use, copy, modify, and distribute this software and its
- Xdocumentation for any purpose and without fee is hereby granted,
- Xprovided that the above copyright notice appear in all copies and that
- Xboth that copyright notice and this permission notice appear in
- Xsupporting documentation, and that the name of CMU not be
- Xused in advertising or publicity pertaining to distribution of the
- Xsoftware without specific, written prior permission.
- X
- XCMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- XALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- XCMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- XANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- XWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- XARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- XSOFTWARE.
- X******************************************************************/
- X
- X#define noUX_TESTING
- X
- X#include <sys/types.h>
- X#include <netinet/in.h>
- X#include <sys/socket.h>
- X#include <arpa/inet.h>
- X
- X#include <stdio.h>
- X#include <errno.h>
- X#include <string.h>
- X
- X#include <sys/types.h>
- X#include <sys/time.h>
- X#include <sys/timeb.h>
- X
- X#include "ausnmp.h"
- X#include "snmp.h"
- X#include "snmpimpl.h"
- X#include "asn1.h"
- X
- X#define PKTSNAP
- X#include "pktsnap.h"
- X#include "flowhash.h"
- X
- X#define APPLETALK
- X
- Xextern char version_descr[]; /* In met_vars.c */
- Xextern char *communities[]; /* In snmp/snmpagnt.c */
- X
- X#include <sys/time.h>
- X#include <stropts.h>
- X#include <fcntl.h>
- X
- X#include <net/if.h>
- X#include <net/nit_if.h>
- X#include <net/nit_pf.h>
- X#include <net/nit_buf.h>
- X
- X#define NIT_DEV "/dev/nit"
- Xchar *device = "le0";
- X
- Xint initdevice(if_flags, snaplen, chunksize)
- Xu_long if_flags,
- X snaplen,
- X chunksize;
- X{
- X int nit_fd;
- X struct strioctl si;
- X struct ifreq ifr;
- X struct timeval timeout;
- X
- X nit_fd = open(NIT_DEV, O_RDONLY);
- X
- X /* Arrange to get discrete messages from the stream. */
- X ioctl(nit_fd, I_SRDOPT, (char *)RMSGD);
- X
- X si.ic_timout = INFTIM;
- X
- X /* and configure the buffering module. */
- X ioctl(nit_fd, I_PUSH, "nbuf");
- X
- X timeout.tv_sec = 0;
- X timeout.tv_usec = 250000L; /* 0.25 sec */
- X si.ic_cmd = NIOCSTIME;
- X si.ic_len = sizeof timeout;
- X si.ic_dp = (char *)&timeout;
- X ioctl(nit_fd, I_STR, (char *)&si);
- X
- X si.ic_cmd = NIOCSCHUNK;
- X si.ic_len = sizeof chunksize;
- X si.ic_dp = (char *)&chunksize;
- X
- X ioctl(nit_fd, I_STR, (char *)&si);
- X
- X /* Configure the nit device, binding it to the proper
- X underlying interface, setting the snapshot length,
- X and setting nit_if-level flags. */
- X
- X strcpy(ifr.ifr_name, device);
- X si.ic_cmd = NIOCBIND;
- X si.ic_len = sizeof ifr;
- X si.ic_dp = (char *)𝔦
- X ioctl(nit_fd, I_STR, (char *)&si);
- X
- X if (snaplen > 0) {
- X si.ic_cmd = NIOCSSNAP;
- X si.ic_len = sizeof snaplen;
- X si.ic_dp = (char *)&snaplen;
- X ioctl(nit_fd, I_STR, (char *)&si);
- X }
- X
- X if (if_flags != 0) {
- X si.ic_cmd = NIOCSFLAGS;
- X si.ic_len = sizeof if_flags;
- X si.ic_dp = (char *)&if_flags;
- X ioctl(nit_fd, I_STR, (char *)&si);
- X }
- X
- X /* Flush the read queue, to get rid of anything that accumulated
- X before the device reached its final configuration. */
- X
- X if (ioctl(nit_fd, I_FLUSH, (char *)FLUSHR) < 0) {
- X close(nit_fd);
- X printf("FLUSH failed\n");
- X exit(1);
- X }
- X return nit_fd;
- X }
- X
- X#define CHUNKSIZE 70000
- X
- Xint init_nit()
- X{
- X return initdevice(NI_PROMISC | NI_LEN | NI_DROPS, SNAPTO+1, CHUNKSIZE);
- X }
- X
- Xunsigned char buf[CHUNKSIZE];
- X
- Xvoid nit_read(nit_fd)
- Xint nit_fd;
- X{
- X int cc;
- X u_char *bp,*bufstop;
- X register struct pt_entry *ptep;
- X
- X cc = read(nit_fd, buf, CHUNKSIZE);
- X bp = buf;
- X bufstop = buf+cc;
- X while (bp < bufstop) {
- X register u_char *cp = bp;
- X struct nit_bufhdr *hdrp;
- X struct nit_iflen *nlp;
- X struct nit_ifdrops *drp;
- X unsigned char pkt_type;
- X unsigned int pktlen, b12_13;
- X
- X ++npackets;
- X hdrp = (struct nit_bufhdr *)cp; cp += sizeof *hdrp;
- X drp = (struct nit_ifdrops *)cp; cp += sizeof *drp;
- X lostpackets += drp->nh_drops;
- X nlp = (struct nit_iflen *)cp; cp += sizeof *nlp;
- X pktlen = nlp->nh_pktlen;
- X bp += hdrp->nhb_totlen;
- X
- X /* Process the packet */
- X
- X b12_13 = cp[12]<<8 | cp[13];
- X if (b12_13 == 0x0800) pkt_type = AT_IP;
- X else if (b12_13 <= MAXPKTLEN) { /* 802.2 packet */
- X if (cp[14] == 0xFF && cp[15] == 0xFF) pkt_type = AT_NOVELL;
- X#ifdef APPLETALK
- X else if (cp[14] == 0xAA && cp[15] == 0xAA) { /* SNAP */
- X if (cp[20] == 0x80 && cp[21] == 0x9B) pkt_type = AT_ETHERTALK;
- X else continue; /* Ignore other SNAP packets */
- X }
- X#endif
- X else continue; /* Ignore other 802.2 packets */
- X }
- X else if (b12_13 == 0x6003) pkt_type = AT_DECNET;
- X else continue; /* Ignore other Blue Book packets */
- X
- X pkt_monitor(&cp[SNAPFROM], pktlen, pkt_type);
- X }
- X }
- X
- Xtime_t accounting_start_time; /* Seconds since start of Unix epoch */
- X
- Xunsigned long uptime(void) /* SNMP time */
- X{
- X return (time(NULL)-accounting_start_time)*100; /* centiseconds */
- X }
- X
- Xvoid show_meter_time()
- X{
- X char msg[60], *ts;
- X ts = ctime(&accounting_start_time);
- X sprintf(msg,"%lu seconds since %c%c%c%c:%c%c",
- X time(NULL)-accounting_start_time,
- X ts[11],ts[12],ts[14],ts[15], ts[17],ts[18]);
- X display_msg(0,msg);
- X }
- X
- Xextern int errno;
- Xint snmp_dump_packet = 0;
- X
- Xvoid main(argc, argv)
- X int argc;
- X char *argv[];
- X{
- X int arg,c, sd;
- X char *ap;
- X struct sockaddr_in me;
- X int nit_fd;
- X
- X printf("%s\n",version_descr);
- X display_enabled = kb_enabled = 1; /* Enabled by default */
- X mxflowsp1 = DFMXFLOWS+1;
- X accounting_start_time = time(NULL) - 2; /* So flows have CreateTime > 1 */
- X /* Default (CMU) communities are: 0 = "public", 1 = "proxy",
- X 2 = "private", 3 = "regional", 4 = "core"
- X We only allow "public" and "private" by default */
- X communities[1] = communities[3] = communities[4] = "";
- X for (c = 0, arg = 1; arg < argc; ++arg) {
- X if (argv[arg][0] == '-') {
- X switch (argv[arg][1]) {
- X case 'd':
- X snmp_dump_packet++;
- X break;
- X case 'f':
- X ap = argv[arg]+2;
- X if (*ap == NULL) ap = argv[++arg];
- X mxflowsp1 = atoi(ap)+1;
- X break;
- X case 'k':
- X kb_enabled = 0; /* -k to disable keyboard */
- X break;
- X case 'r':
- X for (;;) {
- X if (c == 5) {
- X printf("Max of 4 read communities allowed\n");
- X exit(0);
- X }
- X communities[c++] = argv[++arg];
- X if (c == 2) ++c; /* 2 -> "private" */
- X if (arg == argc-1 || argv[arg+1][0] == '-') break;
- X }
- X break;
- X case 's':
- X display_enabled = 0; /* -s to disable screen */
- X break;
- X case 'w':
- X communities[2] = argv[++arg]; /* -w to set write community */
- X break;
- X default:
- X printf("Invalid option: -%c\n", argv[arg][1]);
- X exit(0);
- X }
- X }
- X }
- X /* Set up connections */
- X sd = socket(AF_INET, SOCK_DGRAM, 0);
- X if (sd < 0){
- X perror("socket");
- X exit(1);
- X }
- X me.sin_family = AF_INET;
- X me.sin_addr.s_addr = INADDR_ANY;
- X me.sin_port = htons(SNMP_PORT);
- X if (bind(sd, (struct sockaddr *)&me, sizeof(me)) != 0){
- X perror("bind");
- X exit(2);
- X }
- X init_monitor();
- X init_snmp();
- X nit_fd = init_nit();
- X receive(sd,nit_fd);
- X}
- X
- X#define TICKS_PER_S 4 /* 0.25s timeout on NIT -> 4 ticks per second */
- X#define BKG_INTERVAL 30 /* Seconds */
- X
- Xvoid zero_pkt_stats()
- X{
- X kilodummypackets = npackets = lostpackets = stats_time = spackets = 0L;
- X max_pkt_rate = 0;
- X clear_pkt_stats = 0;
- X }
- X
- Xreceive(sd,nit_fd)
- X int sd,nit_fd;
- X{
- X fd_set fdset;
- X char kb_buf[25];
- X int ch, count, onesi, gci;
- X /* initdevice() sets the nit timeout to 0.25 seconds */
- X /* If the ethernet is very busy, we'll garbage collect more often */
- X unsigned char p;
- X unsigned long pd;
- X
- X onesi = TICKS_PER_S; bkgi = BKG_INTERVAL*TICKS_PER_S;
- X zero_pkt_stats();
- X for (;;) {
- X FD_ZERO(&fdset);
- X FD_SET(sd, &fdset);
- X FD_SET(nit_fd, &fdset);
- X if (kb_enabled) FD_SET(0, &fdset); /* stdin */
- X count = select(FD_SETSIZE, &fdset, 0, 0, 0);
- X if (count > 0) {
- X if (FD_ISSET(sd, &fdset))
- X snmp_read(sd);
- X if (FD_ISSET(nit_fd, &fdset)) {
- X s_uptime = uptime(); /* Don't do this too often! */
- X nit_read(nit_fd);
- X if (--onesi == 0) { /* One-second process .. */
- X if (clear_pkt_stats) zero_pkt_stats();
- X else {
- X ++stats_time;
- X pd = npackets-spackets;
- X if (pd > max_pkt_rate) max_pkt_rate = pd;
- X spackets = npackets;
- X }
- X if (--gci == 0) {
- X garbage_collect();
- X gci = gc_interval;
- X }
- X if (--bkgi == 0) {
- X p = (unsigned long)nflows*100/(mxflowsp1-1);
- X if (p > HighWaterMark) { /* % flows in use */
- X pd = s_uptime-InactivityTimeout;
- X GarbageCollectTime += InactivityTimeout;
- X if (GarbageCollectTime > pd) GarbageCollectTime = pd;
- X }
- X bkgi = BKG_INTERVAL*TICKS_PER_S;
- X }
- X onesi = TICKS_PER_S;
- X }
- X }
- X if (FD_ISSET(0, &fdset)) { /* stdin */
- X fgets(kb_buf, sizeof kb_buf, stdin);
- X if ((ch = kb_buf[0]) == 27) { /* ESC */
- X display_msg(1,"Shutting down");
- X exit(0);
- X }
- X switch (tolower(ch)) {
- X case 'v':
- X printf("\n%s\n",version_descr);
- X break;
- X default:
- X handle_kb(ch);
- X break;
- X }
- X }
- X }
- X else switch (count) {
- X case 0:
- X break;
- X case -1:
- X if (errno == EINTR) continue;
- X else perror("select");
- X return -1;
- X default:
- X printf("select returned %d\n", count);
- X return -1;
- X }
- X }
- X }
- X
- Xunsigned long snmp_peer_addr;
- X
- Xsnmp_read(sd)
- X int sd;
- X{
- X struct sockaddr_in from;
- X int length, out_length, fromlength;
- X u_char packet[1500], outpacket[1500];
- X char snmp_peer_name[50]; /* Name of host which sent the snmp request */
- X
- X fromlength = sizeof from;
- X length = recvfrom(sd, packet, 1500, 0, (struct sockaddr *)&from, &fromlength);
- X snmp_peer_addr = from.sin_addr.s_addr;
- X strcpy(snmp_peer_name,inet_ntoa(from.sin_addr));
- X if (length == -1)
- X perror("recvfrom");
- X if (snmp_dump_packet){
- X int count;
- X
- X printf("recieved %d bytes from %s:\n", length, snmp_peer_name);
- X for(count = 0; count < length; count++){
- X printf("%02X ", packet[count]);
- X if ((count % 16) == 15)
- X printf("\n");
- X }
- X printf("\n\n");
- X }
- X out_length = 1500;
- X if (snmp_agent_parse(packet, length, outpacket, &out_length, from.sin_addr)){
- X if (snmp_dump_packet){
- X int count;
- X
- X printf("sent %d bytes to %s:\n", out_length, snmp_peer_name);
- X for(count = 0; count < out_length; count++){
- X printf("%02X ", outpacket[count]);
- X if ((count % 16) == 15)
- X printf("\n");
- X }
- X printf("\n\n");
- X }
- X if (sendto(sd, (char *)outpacket, out_length, 0, (struct sockaddr *)&from,
- X sizeof(from)) < 0){
- X perror("sendto");
- X return 0;
- X }
- X
- X }
- X
- X}
- X
- END_OF_FILE
- if test 11571 -ne `wc -c <'netramet/src/meter/meter_ux.c'`; then
- echo shar: \"'netramet/src/meter/meter_ux.c'\" unpacked with wrong size!
- fi
- # end of 'netramet/src/meter/meter_ux.c'
- fi
- echo shar: End of archive 10 \(of 25\).
- cp /dev/null ark10isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 25 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
- exit 0 # Just in case...
-