|
SourceForge Jpcap | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.sourceforge.jpcap.net.Packet
net.sourceforge.jpcap.net.EthernetPacket
net.sourceforge.jpcap.net.IP.Packet
net.sourceforge.jpcap.net.IPv4.Packet
net.sourceforge.jpcap.net.IPPacket
net.sourceforge.jpcap.net.IGMPPacket
public class IGMPPacket
An IGMP packet.
Extends an IP packet, adding an IGMP header and IGMP data payload.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class net.sourceforge.jpcap.net.IPPacket |
|---|
IPPacket.TestProbe |
| Field Summary |
|---|
| Fields inherited from class net.sourceforge.jpcap.net.IP.Packet |
|---|
_ipHeaderLength, _ipOffset |
| Fields inherited from class net.sourceforge.jpcap.net.EthernetPacket |
|---|
_byteBuffer, _bytes, _ethOffset, _timeval |
| Fields inherited from interface net.sourceforge.jpcap.net.IGMPFields |
|---|
IGMP_CODE_LEN, IGMP_CODE_POS, IGMP_CSUM_LEN, IGMP_CSUM_POS, IGMP_GADDR_LEN, IGMP_GADDR_POS, IGMP_HEADER_LEN, IGMP_MRSP_LEN, IGMP_MRSP_POS |
| Fields inherited from interface net.sourceforge.jpcap.net.IPFields |
|---|
IP_CODE_LEN, IP_CODE_POS, IP_CSUM_LEN, IP_CSUM_POS, IP_DST_POS, IP_FRAG_LEN, IP_FRAG_POS, IP_HEADER_LEN, IP_ID_LEN, IP_ID_POS, IP_LEN_LEN, IP_LEN_POS, IP_SRC_POS, IP_TOS_LEN, IP_TOS_POS, IP_TTL_LEN, IP_TTL_POS, IP_VER_LEN, IP_VER_POS |
| Fields inherited from interface net.sourceforge.jpcap.net.EthernetFields |
|---|
ETH_CODE_LEN, ETH_CODE_POS, ETH_DST_POS, ETH_HEADER_LEN, ETH_SRC_POS |
| Constructor Summary | |
|---|---|
IGMPPacket(int lLen,
byte[] bytes)
Construct a new IGMP packet. |
|
IGMPPacket(int lLen,
byte[] bytes,
Timeval tv)
Construct a new IGMP packet, including the capture time. |
|
IGMPPacket(int lLen,
ByteBuffer bb,
Timeval tv)
Construct a new IGMP packet, including the capture time. |
|
| Method Summary | |
|---|---|
int |
getChecksum()
Return the actual packet checksum as received. Derived classes override this to return the most specific checksum, e.g.:
Packet.getChecksum() returns zero. |
String |
getColor()
Fetch ASCII escape sequence of the color associated with this packet type. |
byte[] |
getData()
Fetch the data portion of the packet. This is overridden in derived classes to return successively smaller and smaller amounts of data. For example:
|
String |
getGroupAddress()
Deprecated. Please use getGroupInetAddress(). |
InetAddress |
getGroupInetAddress()
Fetch the IGMP group address. |
byte[] |
getHeader()
Fetch header portion of the packet. This is overridden in derived classes to return the header appropriate to the packet class. For example:
|
int |
getIGMPChecksum()
Fetch the IGMP checksum. |
byte[] |
getIGMPData()
Fetch the IGMP data as a byte array. |
byte[] |
getIGMPHeader()
Fetch the IGMP header as a byte array. |
int |
getMaxResponseTime()
Fetch the IGMP max response time. |
int |
getMessageType()
Fetch the IGMP message type. |
boolean |
isValidChecksum()
Return true iff all the checksums in the packet are valid, otherwise false. Derived classes with checksums should override, and should call super.isValidChecksum()
to check the validity of base class checksums.
The Packet.isValidChecksum() implementation just returns true. |
void |
setChecksums()
Set all the checksums in this packet prior to sending. Calling this method sets all the IP, ICMP, IGMP, TCP, UDP etc checksums as appropriate. It is called automatically by PacketOutputStream.writePacket(Packet).
Derived classes must override this abstract method, and must call super.setChecksums(),
after setting their own checksums
(unless super.setChecksums() is abstract, i.e. this method).
Otherwise the lower-level checksums will not be correct.
After calling this method the |
void |
setGroupInetAddress(InetAddress address)
Set the IGMP group address. |
void |
setMaxResponseTime(byte time)
Set the IGMP max response time. |
void |
setMessageType(byte type)
Set the IGMP message type, as per IPv4.IGMP.getMessageType(). |
String |
toColoredString(boolean colored)
Generate string with contents describing this packet. |
| Methods inherited from class net.sourceforge.jpcap.net.IPPacket |
|---|
getDestinationAddress, getDestinationAddressAsLong, getDestinationAddressBytes, getIpHeaderLength, getSourceAddress, getSourceAddressAsLong, getSourceAddressBytes, onesCompSum |
| Methods inherited from class net.sourceforge.jpcap.net.IPv4.Packet |
|---|
computeReceiverChecksum, computeReceiverIPChecksum, computeSenderChecksum, computeSenderIPChecksum, getDestinationInetAddress, getFragmentFlags, getFragmentOffset, getId, getIPChecksum, getIPData, getIPHeader, getIPHeaderLength, getIPProtocol, getLength, getProtocol, getSourceInetAddress, getTimeToLive, getTypeOfService, getVersion, isValidIPChecksum, setDestinationInetAddress, setSourceInetAddress, toColoredVerboseString |
| Methods inherited from class net.sourceforge.jpcap.net.IP.Packet |
|---|
getHeaderLength |
| Methods inherited from class net.sourceforge.jpcap.net.EthernetPacket |
|---|
equals, getDestinationHwAddress, getDestinationMACAddress, getEthernetCRC32, getEthernetData, getEthernetHeader, getEthernetHeaderLength, getEthernetProtocol, getPacketData, getPacketLength, getSourceHwAddress, getSourceMACAddress, getTimeval, hashCode, setDestinationMACAddress, setEthernetProtocol, setSourceMACAddress, toByteArray, toString |
| Methods inherited from class net.sourceforge.jpcap.net.Packet |
|---|
ipChecksum |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public IGMPPacket(int lLen,
byte[] bytes)
lLen - link-layer header lengthbytes - Packet data
public IGMPPacket(int lLen,
byte[] bytes,
Timeval tv)
lLen - link-layer header lengthbytes - Packet datatv - Timestamp
public IGMPPacket(int lLen,
ByteBuffer bb,
Timeval tv)
lLen - link-layer header lengthbb - Packet data in a ByteBuffertv - Timestamp| Method Detail |
|---|
public byte[] getIGMPHeader()
IPv4.IGMP
getIGMPHeader in interface IPv4.IGMPpublic byte[] getHeader()
EthernetPacket.getHeader() returns the Ethernet header
IP.Packet.getHeader() returns the IP header, which is in the Ethernet payload
TCPPacket.getHeader() returns the TCP header, which is in the IP payload
getHeader in class IP.Packetpublic byte[] getIGMPData()
IPv4.IGMP
getIGMPData in interface IPv4.IGMPpublic byte[] getData()
EthernetPacket.getData() returns the entire Ethernet payload excluding the Ethernet header
IP.Packet.getData() only returns the IP payload, i.e. excluding the IP header which is in the Ethernet payload
TCPPacket.getData() only returns the TCP payload, i.e. excluding the TCP header which is in the IP payload
getData in class IP.Packetpublic int getMessageType()
IPv4.IGMPIGMPMessage.getDescription(int).
getMessageType in interface IPv4.IGMPpublic void setMessageType(byte type)
IPv4.IGMPIPv4.IGMP.getMessageType().
setMessageType in interface IPv4.IGMPtype - message type.IGMPMessagespublic int getMaxResponseTime()
IPv4.IGMP
getMaxResponseTime in interface IPv4.IGMPpublic void setMaxResponseTime(byte time)
IPv4.IGMP
setMaxResponseTime in interface IPv4.IGMPtime - the IGMP max response time, in tenths of a second.public int getIGMPChecksum()
IPv4.IGMP
getIGMPChecksum in interface IPv4.IGMPpublic int getChecksum()
IPv4.Packet.getChecksum() returns the IP checksum
TCPPacket.getChecksum() returns the TCP checksum
Packet.getChecksum() returns zero.
getChecksum in class IPv4.Packet@Deprecated public String getGroupAddress()
public InetAddress getGroupInetAddress()
IPv4.IGMP
getGroupInetAddress in interface IPv4.IGMPpublic void setGroupInetAddress(InetAddress address)
IPv4.IGMP
setGroupInetAddress in interface IPv4.IGMPaddress - Group address.public boolean isValidChecksum()
super.isValidChecksum()
to check the validity of base class checksums.
The Packet.isValidChecksum() implementation just returns true.
isValidChecksum in class IPv4.Packetpublic void setChecksums()
PacketOutputStream.writePacket(Packet).
Derived classes must override this abstract method, and must call super.setChecksums(),
after setting their own checksums
(unless super.setChecksums() is abstract, i.e. this method).
Otherwise the lower-level checksums will not be correct.
After calling this method the EthernetPacket.hashCode() of this object will probably change.
setChecksums in class IPv4.Packetpublic String toColoredString(boolean colored)
toColoredString in class IP.Packetcolored - whether or not the string should contain ansi
color escape sequences.public String getColor()
getColor in class IP.Packet
|
Copyright © Patrick Charles & Jonas Lehmann, 2001; Esmond Pitt, 2008. | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||