Ethereal-dev: [ethereal-dev] Text-mode ethereal
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: gram@xxxxxxxxxxxxxxxxxxx (Gilbert Ramirez Jr.)
Date: Sun, 18 Oct 1998 22:36:23 -0500 (CDT)
"tethereal" This is my first attempt at a text-mode ethereal. No, it's not a full-screen cursees implementation, just a program that sends output to stdout. Why tethereal? I don't envision this as a text-mode packet analyzer that will replace ethereal. I need tethereal for a more practical reason. I often find myself in a place where I have access to a computer and a modem, and have time to work on ethereal. But, the computer only has a vt100 emulator. I can compile ethereal just fine, but I can't check to see if my new dissect_() routine is working. So, I would like to run tethereal on a few frames in order to see if I'm writing correct code. tethereal uses all the packet*.c routines as they are --- no modifications necessary! I have one module, tethereal.c, which loops through a pcap file. The other module, tethereal-stubs.c, provides stubs for all the gui functions that the ethereal modules call. The packet-* files and some other files from ethereal are simply linked together to form this new executable. By doing it this way, I have to have stubs for many gtk functions in tethereal-stubs.c. The other way to do it would be to wrap the GUI functions with #ifdef USE_GUI or something like that, but for now, since this is a quick hack, I don't mind all the stubs. Instructions: Untar this file into your ethereal source directory. You will have 3 new files, Makefile.addition, tethereal.c, and tethereal-stubs.c Then, cat the Makefile.addition file onto the end of your Makefile: cat Makefile.addition >> Makefile This adds the rules for making tethereal. Just type: make tethereal You might have to modify the -L flags in Makefile.addition. They work for my system. tethereal uses the -r and -n options, just like etheral. Yes, it makes more sense not to require the "-r", since we'll always be reading a pcap file. But for now, use "-r" :) Right now tethereal reads a pcap file and outputs the packet summaries (the win_info[] structures) to stdout. That's all. I would rather have the output of the summary lines be a command- line option, and have the main function of tethereal to be the output of a full packet analysis for each packet in a pcap file (or selected frames, via command-line arguments). That is, I want an ASCII printout of each frame, by calling ethereal's packet- printing function. But I need to provide some minimal gtk_tree and gtk_tree_item functions in tethereal.c to provide the data storage for the dissect_* routines. If anyone has any suggestions on adding a GUI-less gtk_tree and gtk_tree_item implementation for tethereal, please let me know. Have fun! --gilbert begin 664 tethereal.tar.gz M'XL("+*O*C8``W0N=&%R`.U:;7/;-A+N5^E7H.XUD13)L9W$N8N:S.3%SOG. MM3.VT[N;Q,.A2)#BF2(X)"@[[>2_W^X"(`&:4IR[:SN=$::-26!WL=A=[#X@ M]*-_Q:,DY=M^&"8R$=DW__^VN[.SO_^8?</8[M,G._9?:KN[CYXPMK^_N_=D M[^F3QX^A9^_)SN-OV,ZOH,NM5I72+QC[)B[\Q3JZ+XW_09OD<LX+[J?>Z:N_ M';R^.&?/&:,^^2GGVX)1<(B/_=P/KKB$#O4P\?TBM]Z<%^FG5_!JF"8S(:0U M'@*!]9:5S0O,W+Q$$)*VF#0-FL$T#YN7)+>?E_OVVXTM(INICOK5GCP++#%9 ME:;-FR@=34291\U@GEM\A7]MO=B*21)?RY"%-50L?&MM56BQ+9.,DY)%DDDE M`%\+7HIT"0]E1B.H3^U,^WE2RFH&'/U^W<6>L3\-;GE^V.\%`9M8K)U4;'+\ ML"J+AVDR,X__W-T]VU<=:1[X.?R)X:W_>P?WIGVQ-2$3_&ISK,__NX\>[3Y5 M^7_OZ=[^TZ=8$1[O;?+_;]+ZWR51R"/VUY<_'7BO3T\.C]YZ?^U_QY(L2*N0 MLZU`9%$2;\^W^M_Q+$PBA^'\7^?>Q;_>'9P[/#^4G\J'6#[*[?D+PP9\9CB6 M5P_A?QJL.S%O8(_55<HP$2Y5*2'7Q6Y?E25`V:)S-'"ZP=_2[8V"3*8T=].Y M5>\+7'EC#3^75<'=3ET:G3XJFTX/U_HXG)33G2Z=UUUA(DW%M=M7R81TZX,$ MQJ27"C_T0#T/9QX$<PCJT9AI?:F3C8;3_E(D(5"CM;TP*7-?!G,OF`TJKV81 M62D9&+H*)".Z_$K.0VO,T(*X_EMY]8\DC#GHP$8XBU?R=,Q&RB9>"JZ!-UEP M[BT3?@W/LT^R?LX+$7LSOQCWF=5&218)[)[VWX97AP(7B-T+K_`B>!OCXXP> MI[J:>LC"6)Y,^\Z2@VC:/SPZ/JA%(_;P1"75\'-V\O[X>-J/JT1/`FWA)YD7 MR)LQ81]\FO9EZ:'[F$P6'`)HD:O7Y^SLX/CEQ=%/!],^QE42,!+U:(^5)0_& MK*S@SZVQU"\E#>.#HE".Z5-`>%7IQWR`/4/V2Q]L$ZD2/X`XYT4Q9EL7\Z1D M\-_;D_?L^Q+^^YAMC=F[EZ___O+MP9C]='!V?G1Z`@[JX)7`\&&RO(1_YOA/ M=HG,_1XS_-ULM7L^3`K8ZF@;Y);L!S0*(ZNP2`"2D2]0(DCY3-'91X,.T,!^ M$<.B5?#`\_+#Y;#_"\QE&;]I(I>H![^1O,@44^U%&`-^'(Z=`3U<!.1>B),@ M\C)_T3@:I^I!@R4A]\,1.\K@xxxxx<_@W#DW&X9<;S;!Z"&0!M%VCM%,,]3B MJ#N:ZXF=[KK7[0Y!,JRHW1UT=R>1'_#;0DI_R=T(5MT98"]-O?]G(UE4F=%Z M9TH;K:^6?B*N&>Y<417HFE(M]'J.<@<#L#%PP#@\#)3GT&<0"?.L>":?+;>& M0_;M<W9P>HA1BG++ZP32"4-6TP4J^"5G]^?WGQESP,SO,+;8G*<Y\[,0?)R0 ME7MV^$/\]'!@L#.<UNEA!BGY:NI(SAS))X*1PRF-5GB@)<&QI_(J%`_/#V02 M*6/T.N05CKPS[H=N4-S<W"A#::8ZPF(/XB6L\H&*3M1?+2AB@ZU82*68WJJ: M;?W22D>5<W`5ABAZN9R#O('6:\A2GL5R[JJEHN$Y\Z5(&I76S":=V2Z:34VI MSI(-UH.T4`0+LU2(B6)KR)Z#38=6)E^3+`T)3V'F+GG^7>2]?'5^>OS^XB[R MPKO(>W-P?/&R)>P7B^%63C0@X1FDD24DD9#)EMD^;H'#MRC!,JO=\D>'\"/) M%H!.V0RE%!^W,+E"7*=02I:0VSYN^;K/GU&L\['*NFM$`O''K5"SA3R%<WB; MA[;<KM7U>5W,+-T(G4-&6?*BQ&UG;VQ#H_79^D+)LC19L?E1*?R_KZ+11/L/ M;%<YN`G_QSM_V:<Z8B*CH=W_<YM8)<U:J-JB.@3`@D!Q"V@IHC&[%T1:5=WU M8><2Z.]_W+D_)67[?6M)NC)VP[9(272Q&XAG=JW4%:QO%!,YSQI!1H32"5<S M(#+<`>S>/5S<Y$40>A(S^.LWWON3OY^<_N-D:!9+N"\5(B="J'!CMC/NP(UC M5B/'(:LM0%1!*DINV(?:!@P"&!:5*?4_*]C37X-'`1T5ZS!I#O_BUG*1Z:S2 MUHK@U,8]!'T,\2D^Z+I_(5@HG@'8NX+]BLE=:D@U2V+&,U'%\VT5NB[$R`EJ M?CAY_R,<EX[/+S_L/=F_)"3BH)ADS`IQ326XY4;PU:`%RQFNDF1H@"@1/99@ M<,*/)3D:5Z,7\IR161&.3%Z8-9%'*PR%R.G"\O_@P;3F!\8KB#N>H1PTW^0% MO$R;87*]/0P=+@7A8A'A4B+)TY2\#$YFDU4<N`JRBY$IRVVY]`CZUD25H7*) M-$!6:"UBUQP<E]T'^``@B`JBE7-%1#U14D`TJ*/!F"7R/KB5!SY((C>KC`*^ M;M-N,W:^2BJ0*R+FES6!DK1R;AU!N/^^19?BUON6?%I#)NPU/E-V4GN(J)J! M.@X^:TN\$0H,(*;`;-YMB+S@RT1498<^^A!"*IESB-'*C'4I9FC7Z/96(Q72 M!PI67O(0'""O.815VT94*"SS;AN\/7G!G6DH.B9D,9/4E)%^<#4QBR`)'9JB MC$H+^6P7>9MAX'`\8+L[U(8V<Z/D9&(O_[58Y%".6R[1ZS(8V04?M<Y850U, M>M8C`*H*/I/BMNGJTJH2ADX,O-:/F0QB1BIKR"JG-"VAGV>]KDE;8=0QK^LC M'3]F)G15'38=WNHU6K8<U1R0-1@Q_K)8UKBJ8>\I396C;%AC62'DD5^E4IG@ MI095Y,$Q@QTV$S%8H`4:`?55O,,>.],>G48DYO;0)JAJBK8&J!)NY4%"PRP! MC&+J#+P]>`"V,@:Z3C)5B!)$&?=R\P*H8ZH"L=1@J\T`TCR0>@EP\/N03B*Z M2%"-AAH,^D%!)D</H)".V]5HK'08T\ES.*7*9`&[P??@4_@[F;PP(&^E"G!" M8IVC%T<_'EQV,YZ?OC][?;"&]\W!^<71">R@TY-+6M-MU-G%]N[L].(4'E9, M>W1R>.J*4\C9?`_=^4KCT>>=T?!>`A:$2/EWE5VQ7(!D7JAH46=A_'*F!'T5 M7ZV>_OI*>>G'&NM`#?73:_]3J8JH#VA]Z2>I/P,X0A\Y>":+3TVQL.!&QF\D MXDAROLY:"I?@3FS@%J":V%OX:2J"09G\S$5DC0XU4(SI`Z'GYP!>PV866&6L MUS14PH=F?]0T+@A"K1!/_MZ?T_]PK7U-^&O<`GWI_F?OT:Z^_]G??_I4W?\_ MV=_<__P6[:NO?^Q[G#29M:YLK*L=]R+'+^*NFYQ24Y(2)P<';[SSDW=G1R<7 MATH-ZZKIXLW+,Z4<ZQ),P,`97/H%?M74H^KNJEE8?6W>M;05MS_U10]F4ZS4 M>8(Y\O:M#PP?%F*A?DCAITA$W_?+9`$'(SCH^JF(!W1B1!0Q5H?'T4QFD#++ MJ[$^<XX69>RI3^ICMKV]C?7_<Y]HZ0B&UR<%+TL\,)N$214!"#^K&6$14(`6 MD-@]&>0#."&G(HN):'=LO^V94S;.K.K*HS%];<#'QP[MDT9^R:6WX%D%1[FL M3``S)O(39&^EOIDF-F+VB+$V#T2*,4VO!R^>A#3N15#R?N;-47KP5EY=8-51 M;81$C0*JU<RH#UEB#3-"!P0/3!^XK5-[%O(;DDT#EE(QIS,S?F6]FV(6KYS[ MUWJ^]7S6)X3&&J*X]HO0"WG*`8U^Y8(R=$39K*@E'%=%,-9HIN^</N.]WNGL MWP!F1D0MZ-D+YCRX\N"T($D/1<%&,&I40.VT0"0SAYO;T^.-8'MZ1X.V=Y$A M2+E?>(GDB](Q)HPU(NBVT3():W^;P8997WZ)"-*"I3MJ$1!>J?5N:=M0D**D MV^MC!"LC1OU=I#K<[T2+D;2"LKZ('37FRO@U:S7'P^BIGK;O-3'72T.S-+0M MY\W$39?O5CL/&3!Y>F1VBP&4>"5NC..`3+FD9U\KLU$P3])0C[A>XC>YGW4/ M089,.P=R_*EC%@_-AFO,JW#H;0.KLX9:C<YLN'T^7'99?E9)*3*T/=A4SCU` MU3P%"$W)5;-3G^T%I83(I)]DO+"]8#D,51JU*,DT!<^0$M4V`SVRFWES?.(* M`&.LY]4VI*VMUDGC*E[6")Z)(H0_0"?G=YL@II2+DFQ>%8"J*IE9Z'BBK-2D M0ISB@,XM*IJ(J"M\+>XF@)V-8?M34;>VTLI(5]3E'32SDH\=&TX]<%=M?EX! M.3>!",,%8!==*^(4A_!R;H:-IO2CC%)'6\L0'0)KBZRT1XO),<S`74G31C*1 M*>\2-\?<4`M1F&@N%B+F&1=525;2&N-0"6D$-V_':FA3.8M8N09%:JL^:,!/ MK3-`U"X7U_,TS"#^F+9YLV"B<B_]NMMM6]43UYC.*L&X/CP1]_2\J@;W1FJX M"2HGWUSQ3VXYT<)*+<Q:AZ[IC#D2V])4;ZT?-CJF=[BE!JDSOUA9.5>05SE( MY5JS=WKD%>J0TZ^&FO(=1ZGP[23/BP"VF1]W!ITS21-\3;B<JUQKE"K\,!$F ML\>%J'++7ZC;&1*\HG$VLJEMBZ"D,HDS/\4TF:$#E(U[CBM-&-CV[[D>K6GH MFJ^F`!GG)/^PRH)>!/\X8RWY92J,`NNU[/T6^IE8ZE&_MRJ:\)=45>F$$K;> M2JS2,.15:8'W'J[HW`SB9M>/1B5U`C";%(H5`N;$8`TW9Z\\DUBSB_Q_GWSE ML2?)2MX&5FM."?;/ZK!$X(_JG-'7(A5%/5KPU:,S@'6W2IG):2,Z?MC'$Q=C MJQ-5Y_E`Q#'4&;/E5M7JMBT<+LQN:%ENV80(S$9UR)M0[#@*D)B5QQ*-&^UV MIV.)@W)K&CK?K#PSX>"=L4O#L1*_K.-P`*Q=U"T`VV4/XB?K5S.IC6`,<@1C MUCJ-U9W?D6JV]?(+OA!+7D^Q0OZ7=$Q5L7.=]E4R0NY(^:]DJ&/,_Z9'(%*Z M:;V#C);/E_\]!*,O'<PY099S<6TJ1G->H*AIG1E:C&!(68A/7^:MDR,9(%EP M_#TOGF-(>_43"L-'-67II\W&0Z`,%0;!JR&*]'M#5%<C35&7(UOON/!G.@P- M&ENCM*4S7P(T*3U,&F!(^XQG4]'OD,%GA:]T[2QQ'?!DW3<=X_;;;*WM#JLA M#%3'Y(A@CYTD6\>6=E)H.\@RE%/=S/@<=D`*ASZM[._]87S3-FW3-FW3-FW3 C-FW3-FW3-FW3-FW3-FW3-FW3-FW3-NT/W/X#RK`N&`!0```` ` end -- Gilbert Ramirez Voice: +1 210 358 4032 Technical Services Fax: +1 210 358 1122 University Health System San Antonio, Texas, USA
- Prev by Date: [ethereal-dev] Patch to add a wrapper around "match_strval()"
- Next by Date: Re: [ethereal-dev] Patch to add a wrapper around "match_strval()"
- Previous by thread: Re: [ethereal-dev] Patch to add a wrapper around "match_strval()"
- Next by thread: [ethereal-dev] CVS update: preferences
- Index(es):