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
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
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