C# Класс NetworkPackets.IPPacket

Наследование: NetworkPacket
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
BroadcastAddress MemBlock
DestinationIP MemBlock
Protocol Protocols
SourceIP MemBlock
ZeroAddress MemBlock

Открытые методы

Метод Описание
GenerateChecksum ( MemBlock header ) : ushort

Generates an 16-bit IP (UDP, TCP) checksum based upon header and optional extra memory blocks placed into args.

IPPacket ( ) : Brunet
IPPacket ( MemBlock Packet ) : Brunet

Takes in a MemBlock and parses it into IP Header fields

IPPacket ( Protocols Protocol, MemBlock SourceIP, MemBlock DestinationIP, ICopyable Payload ) : Brunet

Takes in the IP Header fields and a payload to create an IP Packet. Unlisted fields are generated by this constructor automatically.

IPPacket ( Protocols Protocol, MemBlock SourceIP, MemBlock DestinationIP, MemBlock hdr, ICopyable Payload ) : Brunet

Takes in the IP Header fields and a payload to create an IP Packet. Unlisted fields are generated by this constructor automatically.

MakePseudoHeader ( MemBlock source_address, MemBlock destination_address, byte protocol, ushort length ) : MemBlock
Translate ( MemBlock Packet, MemBlock SourceIP, MemBlock DestinationIP ) : MemBlock

If we're not creating a packet from scratch, this will keep its integrity and transform UDP and TCP headers as well (due to their checksums being dependent on source and destination ip addresses.

Приватные методы

Метод Описание
ChecksumTest ( ) : void

Описание методов

GenerateChecksum() публичный статический Метод

Generates an 16-bit IP (UDP, TCP) checksum based upon header and optional extra memory blocks placed into args.
public static GenerateChecksum ( MemBlock header ) : ushort
header MemBlock The Header to base the checksum on.
Результат ushort

IPPacket() публичный Метод

public IPPacket ( ) : Brunet
Результат Brunet

IPPacket() публичный Метод

Takes in a MemBlock and parses it into IP Header fields
public IPPacket ( MemBlock Packet ) : Brunet
Packet MemBlock The IP Packet to parse.
Результат Brunet

IPPacket() публичный Метод

Takes in the IP Header fields and a payload to create an IP Packet. Unlisted fields are generated by this constructor automatically.
public IPPacket ( Protocols Protocol, MemBlock SourceIP, MemBlock DestinationIP, ICopyable Payload ) : Brunet
Protocol Protocols The type of payload
SourceIP MemBlock The packets originating ip address
DestinationIP MemBlock The destination for the packet
Payload ICopyable The data stored in the IP Packet
Результат Brunet

IPPacket() публичный Метод

Takes in the IP Header fields and a payload to create an IP Packet. Unlisted fields are generated by this constructor automatically.
public IPPacket ( Protocols Protocol, MemBlock SourceIP, MemBlock DestinationIP, MemBlock hdr, ICopyable Payload ) : Brunet
Protocol Protocols The type of payload
SourceIP MemBlock The packets originating ip address
DestinationIP MemBlock The destination for the packet
hdr MemBlock The original header of the IPPacket
Payload ICopyable The data stored in the IP Packet
Результат Brunet

MakePseudoHeader() публичный статический Метод

public static MakePseudoHeader ( MemBlock source_address, MemBlock destination_address, byte protocol, ushort length ) : MemBlock
source_address MemBlock
destination_address MemBlock
protocol byte
length ushort
Результат MemBlock

Translate() публичный статический Метод

If we're not creating a packet from scratch, this will keep its integrity and transform UDP and TCP headers as well (due to their checksums being dependent on source and destination ip addresses.
public static Translate ( MemBlock Packet, MemBlock SourceIP, MemBlock DestinationIP ) : MemBlock
Packet MemBlock The packet to translate.
SourceIP MemBlock The new source ip.
DestinationIP MemBlock The new destination ip.
Результат MemBlock

Описание свойств

BroadcastAddress публичное статическое свойство

The default broadcast (multicast) address
public static MemBlock BroadcastAddress
Результат MemBlock

DestinationIP публичное свойство

The IP Address where the packet is going
public MemBlock DestinationIP
Результат MemBlock

Protocol публичное свойство

The protocol for this packet.
public Protocols Protocol
Результат Protocols

SourceIP публичное свойство

The IP Address where the packet originated
public MemBlock SourceIP
Результат MemBlock

ZeroAddress публичное статическое свойство

The zero address
public static MemBlock ZeroAddress
Результат MemBlock