<w w w s e c u r i t y b u g w a r e o r g>
S o f t w a r e R e l e a s e
Packet Excalibur v1.0 (Vivienne release)
A multi-platform graphical and scriptable network packet engine
with extensible text based protocol descriptions
C o d i n g : Jitsu
I d e a s : Jitsu & Irib
S u p p o r t : Nono
Supported Platforms
Windows 95/98/Me/NT/2000/XP
Linux kernel 2.2/2.4 with Gnome or KDE
Problem
We were tought that network transmissions was nothing more than a
set of
protocols piled a-top of each other.
That protocols could be described as a fixed set of semantics and
grammar
rules.
That algorithmics could easily deal with semantics and grammar
rules.
And that a slick GUI was better than endless command lines.
Solution
So we built a "packet" engine that would understand basic semantics
to describe protocols and utterly simple logic to process them. And
we tried
to keep it simple, to keep it usefull, so we thought it as a GUI.
Packet Excalibur is now available for download :
http://www.securitybugware.org/excalibur/PacketExcalibur_1.0_win32.exe
http://www.securitybugware.org/excalibur/PacketExcalibur_1.0_win32.zip
http://www.securitybugware.org/excalibur/PacketExcalibur_1.0_linux.tgz
http://www.securitybugware.org/excalibur/PacketExcalibur_1.0_win_lin_src.zip
The is free software, distributed under the GNU public license, it
works under
both microsoft and linux operating systems. It was built using
solely GNU
compilers (gcc and mingw).
You will be able
to decide packet attributes from physical layer to the top,
to sniff and spoof packets (packet generator) in a single
interface,
to build scripts in the gui,
to define additional protocols in simple text files.
Some sample protocols definitions, scripts, and packets are
provided. You're
welcome to contribute and forward yours to securitybugware for
future release.
Below is some sample definition file, it describes the IP protocol
in a file named
"iso-3 Internet Protocol (IP).def", fields are used in the gui to
build and to
decode packets :
$bit=4 $desc="Version" $default=4
$value=4 $desc="IPv4"
$value=5 $desc="ST Datagram Mode"
$bit=4 $desc="Header length" $default=5
$value=5 $desc="No options (5x32bits)"
$function=@ip-opt-len $desc="Has options (5+opt.len/32)" $rfc="iso-3
IP Options.def" $rfc_option
$byte=1 $desc="Type of Service" $default=0
$value=0x00 $desc="normal (query)"
$value=0x02 $desc="min cost (NNTP)"
$value=0x03 $desc="Flash"
$value=0x04 $desc="max reliable (IGP)"
$value=0x05 $desc="CRITIC/ECP"
$value=0x06 $desc="Internetwork Control"
$value=0x07 $desc="Network Control"
$value=0x08 $desc="max through. (data)"
$value=0x10 $desc="min delay (control)"
$byte=2 $desc="IP datagram len" $default=@ip-data-len
$value=40 $desc="IP+TCP only"
$function=@ip-data-len $desc="IP datagram len"
$byte=2 $desc="IP id"
$bit=1 $desc="Fragment flags" $default=0
$value=0 $desc="reserved"
$value=1 $desc="unknown"
$bit=1 $desc="Fragment ?" $default=1
$value=0 $desc="do"
$value=1 $desc="don't"
$bit=1 $desc="Fragmented ?" $default=0
$value=0 $desc="no"
$value=1 $desc="yes"
$bit=13 $desc="Fragment offset" $default=0
$value=0 $desc="no fragment"
$byte=1 $desc="Time to Live (TTL)" $default=128
$value=128 $desc="half max hopes"
$byte=1 $desc="Protocol" $default=6
$value=0 $desc="Hop-by-Hop"
$value=1 $desc="ICMP" $rfc="iso-4 Int
Ctrl Msg Proto (ICMP).def"
$value=3 $desc="Gateway-to-Gateway"
$value=4 $desc="CMCC Gateway Monitoring Message"
$value=5 $desc="ST"
$value=6 $desc="TCP" $rfc="iso-4 Trans
Ctrl Proto (TCP).def"
$value=7 $desc="UCL"
$value=9 $desc="Secure"
$value=10 $desc="BBN RCC Monitoring"
$value=11 $desc="NVP"
$value=12 $desc="PUP"
$value=13 $desc="Pluribus"
$value=14 $desc="Telenet"
$value=15 $desc="XNET"
$value=16 $desc="Chaos"
$value=17 $desc="UDP" $rfc="iso-4 User
Datagram Proto (UDP).def"
$value=18 $desc="Multiplexing"
$value=19 $desc="DCN"
$value=20 $desc="TAC Monitoring"
$value=43 $desc="Routing (Type 0)"
$value=44 $desc="Fragment"
$value=50 $desc="Encapsulating Security Payload" $rfc="iso-3-n Ecap
Sec Payload.def"
$value=51 $desc="Authentication"
$value=59 $desc="Nothing next"
$value=60 $desc="Destination Options"
$value=63 $desc="Any Local Network"
$value=64 $desc="SATNET and Backroom EXPAK"
$value=65 $desc="MIT Subnet Support"
$value=69 $desc="SATNET Monitoring"
$value=71 $desc="Internet Packet Core Utility"
$value=76 $desc="Backroom SATNET Monitoring"
$value=78 $desc="WIDEBAND Monitoring"
$value=79 $desc="WIDEBAND EXPAK"
$byte=2 $desc="IP header checksum" $default=@ip-checksum
$function=@ip-checksum $desc="IP checksum"
$dotted=4 $desc="Source IP"
$function=@my-ip-addr $desc="this adapter ip"
$dotted=4 $desc="Dest. IP"
$function=@my-ip-addr $desc="this adapter ip"
In short all protocols are described with the simple field semantic
:
[[type]=[size]] {element description} {default value}
{ {value=[value set]} {value description} {value defines rfc {rfc
an option to current iso}} }
See Packet Excalibur documentation for details.
Have Phun,
Jitsu.
Jitsu/securitybugware.org