Benutzer:Grey/wrapper-klassen
Inhaltsverzeichnis
wrapper-Klassen
Allgemeines zu wrapper-Klassen
Momentan gibt es für jedes übliche Protokoll eine wrapper-Klasse. Jede wrapper-Klasse bietet der Python-Ebene die Funktionalität zu dem entsprechenden Protokoll an, wie zum Beispiel Konstruktuoren für default IP-Pakete und Setter-Methoden für den Header, um Felder zu setzen.
Folgende wrapper-Klassen gibt es:
- ip_wrap.cpp
- tcp_wrap.cpp
- udp_wrap.cpp
- icmp_wrap.cpp
IP-wrapper-Klasse
HEADER-Felder:
- IP_HEADER_VERSION
- IP_HEADER_IHL
- IP_HEADER_TOS
- IP_HEADER_LENGTH
- IP_HEADER_ID
- IP_HEADER_FLAGS
- IP_HEADER_RESERVED
- IP_HEADER_DONTFRAGMENT
- IP_HEADER_MOREFRAGMENTS
- IP_HEADER_FRAGOFFSET
- IP_HEADER_TTL
- IP_HEADER_PROTOCOL
- IP_HEADER_CHECKSUM
- IP_HEADER_SOURCEIP
- IP_HEADER_DESTIP
- IP_HEADER_OPTIONS
- IP_PAYLOAD
So setzt man zum Beispiel drei Felder des IP-Headers:
ip_packet = fwt_ip.Packet(fwt_ip.defaultPacket) ip_packet.set ({ fwt_ip.HEADER_PROTOCOL: 17, fwt_ip.HEADER_SOURCEIP: 10.0.0.1, fwt_ip.HEADER_DESTIP: 10.128.0.1, })
TCP-wrapper-Klasse(trunk/src/wrapper/tcp/ip_wrap.cpp)
HEADER-Felder:
- TCP_HEADER_SOURCEPORT
- TCP_HEADER_DESTPORT
- TCP_HEADER_SEQUENCENUMBER
- TCP_HEADER_ACKNOWLEDGMENTNUMBER
- TCP_HEADER_DATAOFFSET
- TCP_HEADER_RESERVED
- TCP_HEADER_FLAGS
- TCP_HEADER_URG
- TCP_HEADER_ACK
- TCP_HEADER_PSH
- TCP_HEADER_RST
- TCP_HEADER_SYN
- TCP_HEADER_FIN
- TCP_HEADER_WINDOW
- TCP_HEADER_CHECKSUM
- TCP_HEADER_URGENTPOINTER
- TCP_HEADER_OPTIONS
- TCP_PAYLOAD
UDP-wrapper-Klassen(trunk/src/wrapper/udp/udp_wrap.cpp)
HEADER-Felder:
- UDP_HEADER_SOURCEPORT
- UDP_HEADER_DESTPORT
- UDP_HEADER_LENGTH
- UDP_HEADER_CHECKSUM
- UDP_PAYLOAD
ICMP-wrapper-Klasse(trunk/src/wrapper/icmp/icmp_wrap.cpp)
HEADER-Felder:
- ICMP_HEADER_TYPE
- ICMP_HEADER_CODE
- ICMP_HEADER_CHECKSUM
- ICMP_HEADER_POINTER
- ICMP_HEADER_IDENTIFIER
- ICMP_HEADER_SEQNUMBER
- ICMP_HEADER_GWIPADDRESS
- ICMP_PAYLOAD