Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

Benutzer:Grey/wrapper-klassen: Unterschied zwischen den Versionen

(IP-wrapper-Klasse)
(IP-wrapper-Klasse)
Zeile 15: Zeile 15:
  
  
== IP-wrapper-Klasse ==
+
=== IP-wrapper-Klasse ===
  
=== HEADER-Felder: ===
+
==== HEADER-Felder: ====
 
* IP_HEADER_VERSION
 
* IP_HEADER_VERSION
 
* IP_HEADER_IHL  
 
* IP_HEADER_IHL  
Zeile 36: Zeile 36:
 
* IP_PAYLOAD
 
* IP_PAYLOAD
  
=== So setzt man zum Beispiel drei Felder des IP-Headers: ===  
+
==== So setzt man zum Beispiel drei Felder des IP-Headers: ====  
 
 
 
 
 
  ip_packet.set ({  
 
  ip_packet.set ({  

Version vom 15. Oktober 2005, 22:25 Uhr

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

HEADER-Felder

UDP-wrapper-Klasse

HEADER-Felder

ICMP-wrapper-Klasse

HEADER-Felder