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

(wrapper-Klassen)
(wrapper-Klassen)
 
Zeile 6: Zeile 6:
 
Folgende wrapper-Klassen gibt es:
 
Folgende wrapper-Klassen gibt es:
  
* ip_wrap.cpp
+
* ip_wrap.cpp (trunk/src/wrapper/tcp/tcp_wrap.cpp)
  
* tcp_wrap.cpp
+
* tcp_wrap.cpp (trunk/src/wrapper/tcp/tcp_wrap.cpp)
  
* udp_wrap.cpp
+
* udp_wrap.cpp (trunk/src/wrapper/udp/udp_wrap.cpp)
  
* icmp_wrap.cpp
+
* icmp_wrap.cpp (trunk/src/wrapper/icmp/icmp_wrap.cpp)
  
  
 
=== IP-wrapper-Klasse ===
 
=== IP-wrapper-Klasse ===
 
 
==== HEADER-Felder: ====
 
==== HEADER-Felder: ====
 
* IP_HEADER_VERSION
 
* IP_HEADER_VERSION
Zeile 45: Zeile 44:
 
  })
 
  })
  
=== TCP-wrapper-Klasse(trunk/src/wrapper/tcp/ip_wrap.cpp)===
+
=== TCP-wrapper-Klasse ===
 
==== HEADER-Felder: ====
 
==== HEADER-Felder: ====
 
* TCP_HEADER_SOURCEPORT  
 
* TCP_HEADER_SOURCEPORT  
Zeile 66: Zeile 65:
 
* TCP_PAYLOAD
 
* TCP_PAYLOAD
  
=== UDP-wrapper-Klassen(trunk/src/wrapper/udp/udp_wrap.cpp) ===
+
=== UDP-wrapper-Klassen ===
 
==== HEADER-Felder: ====  
 
==== HEADER-Felder: ====  
 
* UDP_HEADER_SOURCEPORT
 
* UDP_HEADER_SOURCEPORT
Zeile 74: Zeile 73:
 
* UDP_PAYLOAD
 
* UDP_PAYLOAD
  
=== ICMP-wrapper-Klasse(trunk/src/wrapper/icmp/icmp_wrap.cpp) ===
+
=== ICMP-wrapper-Klasse ===
 
==== HEADER-Felder: ====  
 
==== HEADER-Felder: ====  
 
* ICMP_HEADER_TYPE
 
* ICMP_HEADER_TYPE

Aktuelle Version vom 15. Oktober 2005, 22:48 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 (trunk/src/wrapper/tcp/tcp_wrap.cpp)
  • tcp_wrap.cpp (trunk/src/wrapper/tcp/tcp_wrap.cpp)
  • udp_wrap.cpp (trunk/src/wrapper/udp/udp_wrap.cpp)
  • icmp_wrap.cpp (trunk/src/wrapper/icmp/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

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

HEADER-Felder:

  • UDP_HEADER_SOURCEPORT
  • UDP_HEADER_DESTPORT
  • UDP_HEADER_LENGTH
  • UDP_HEADER_CHECKSUM
  • UDP_PAYLOAD

ICMP-wrapper-Klasse

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