|
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 datapublic IGMPPacket(int lLen, byte[] bytes, Timeval tv)
lLen
- link-layer header lengthbytes
- Packet datatv
- Timestamppublic IGMPPacket(int lLen, ByteBuffer bb, Timeval tv)
lLen
- link-layer header lengthbb
- Packet data in a ByteBuffertv
- TimestampMethod Detail |
---|
public byte[] getIGMPHeader()
IPv4.IGMP
getIGMPHeader
in interface IPv4.IGMP
public 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.Packet
public byte[] getIGMPData()
IPv4.IGMP
getIGMPData
in interface IPv4.IGMP
public 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.Packet
public int getMessageType()
IPv4.IGMP
IGMPMessage.getDescription(int)
.
getMessageType
in interface IPv4.IGMP
public void setMessageType(byte type)
IPv4.IGMP
IPv4.IGMP.getMessageType()
.
setMessageType
in interface IPv4.IGMP
type
- message type.IGMPMessages
public int getMaxResponseTime()
IPv4.IGMP
getMaxResponseTime
in interface IPv4.IGMP
public void setMaxResponseTime(byte time)
IPv4.IGMP
setMaxResponseTime
in interface IPv4.IGMP
time
- the IGMP max response time, in tenths of a second.public int getIGMPChecksum()
IPv4.IGMP
getIGMPChecksum
in interface IPv4.IGMP
public 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.IGMP
public void setGroupInetAddress(InetAddress address)
IPv4.IGMP
setGroupInetAddress
in interface IPv4.IGMP
address
- 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.Packet
public 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.Packet
public String toColoredString(boolean colored)
toColoredString
in class IP.Packet
colored
- 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 |