- java.lang.Object
-
- org.pcap4j.util.ByteArrays
-
public final class ByteArrays extends java.lang.Object- Since:
- pcap4j 0.9.1
-
-
Field Summary
Fields Modifier and Type Field Description static intBYTE_SIZE_IN_BITSstatic intBYTE_SIZE_IN_BYTESprivate static int[]CRC32C_TABLEprivate static char[]HEX_CHARSstatic intINET4_ADDRESS_SIZE_IN_BYTESstatic intINET6_ADDRESS_SIZE_IN_BYTESstatic intINT_SIZE_IN_BYTESstatic intLONG_SIZE_IN_BYTESprivate static java.util.regex.PatternNO_SEPARATOR_HEX_STRING_PATTERNstatic intSHORT_SIZE_IN_BYTES
-
Constructor Summary
Constructors Modifier Constructor Description privateByteArrays()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intcalcAdler32Checksum(byte[] data)A utility method to calculate Adler-32 checksum.static shortcalcChecksum(byte[] data)A utility method to calculate the Internet checksum.static intcalcCrc32cChecksum(byte[] data)A utility method to calculate CRC-32C checksum.static intcalcCrc32Checksum(byte[] data)A utility method to calculate CRC-32 checksum.static byte[]clone(byte[] array)static byte[]concatenate(byte[] arr1, byte[] arr2)static byte[]concatenate(java.util.List<byte[]> arrs)static bytegetByte(byte[] array, int offset)static java.net.Inet4AddressgetInet4Address(byte[] array, int offset)static java.net.Inet4AddressgetInet4Address(byte[] array, int offset, java.nio.ByteOrder bo)static java.net.Inet6AddressgetInet6Address(byte[] array, int offset)static java.net.Inet6AddressgetInet6Address(byte[] array, int offset, java.nio.ByteOrder bo)static intgetInt(byte[] array, int offset)static intgetInt(byte[] array, int offset, int length)static intgetInt(byte[] array, int offset, int length, java.nio.ByteOrder bo)static intgetInt(byte[] array, int offset, java.nio.ByteOrder bo)static LinkLayerAddressgetLinkLayerAddress(byte[] array, int offset, int length)static LinkLayerAddressgetLinkLayerAddress(byte[] array, int offset, int length, java.nio.ByteOrder bo)static longgetLong(byte[] array, int offset)static longgetLong(byte[] array, int offset, java.nio.ByteOrder bo)static MacAddressgetMacAddress(byte[] array, int offset)static MacAddressgetMacAddress(byte[] array, int offset, java.nio.ByteOrder bo)static shortgetShort(byte[] array, int offset)static shortgetShort(byte[] array, int offset, java.nio.ByteOrder bo)static byte[]getSubArray(byte[] array, int offset)static byte[]getSubArray(byte[] array, int offset, int length)static byte[]parseByteArray(java.lang.String hexString, java.lang.String separator)static byte[]parseInet4Address(java.lang.String addr)static byte[]reverse(byte[] array)static byte[]toByteArray(byte value)static byte[]toByteArray(int value)static byte[]toByteArray(int value, int length)static byte[]toByteArray(int value, int length, java.nio.ByteOrder bo)static byte[]toByteArray(int value, java.nio.ByteOrder bo)static byte[]toByteArray(long value)static byte[]toByteArray(long value, java.nio.ByteOrder bo)static byte[]toByteArray(short value)static byte[]toByteArray(short value, java.nio.ByteOrder bo)static byte[]toByteArray(java.net.InetAddress value)static byte[]toByteArray(java.net.InetAddress value, java.nio.ByteOrder bo)static byte[]toByteArray(LinkLayerAddress value)static byte[]toByteArray(LinkLayerAddress value, java.nio.ByteOrder bo)static byte[]toByteArray(MacAddress value)static byte[]toByteArray(MacAddress value, java.nio.ByteOrder bo)static java.lang.StringtoHexString(byte[] array, java.lang.String separator)static java.lang.StringtoHexString(byte[] array, java.lang.String separator, int offset, int length)static java.lang.StringtoHexString(byte value, java.lang.String separator)static java.lang.StringtoHexString(int value, java.lang.String separator)static java.lang.StringtoHexString(int value, java.lang.String separator, java.nio.ByteOrder bo)static java.lang.StringtoHexString(long value, java.lang.String separator)static java.lang.StringtoHexString(long value, java.lang.String separator, java.nio.ByteOrder bo)static java.lang.StringtoHexString(short value, java.lang.String separator)static java.lang.StringtoHexString(short value, java.lang.String separator, java.nio.ByteOrder bo)static voidvalidateBounds(byte[] arr, int offset, int len)A utility method to validate arguments which indicate a part of an array.static byte[]xor(byte[] arr1, byte[] arr2)
-
-
-
Field Detail
-
BYTE_SIZE_IN_BYTES
public static final int BYTE_SIZE_IN_BYTES
- See Also:
- Constant Field Values
-
SHORT_SIZE_IN_BYTES
public static final int SHORT_SIZE_IN_BYTES
- See Also:
- Constant Field Values
-
INT_SIZE_IN_BYTES
public static final int INT_SIZE_IN_BYTES
- See Also:
- Constant Field Values
-
LONG_SIZE_IN_BYTES
public static final int LONG_SIZE_IN_BYTES
- See Also:
- Constant Field Values
-
INET4_ADDRESS_SIZE_IN_BYTES
public static final int INET4_ADDRESS_SIZE_IN_BYTES
- See Also:
- Constant Field Values
-
INET6_ADDRESS_SIZE_IN_BYTES
public static final int INET6_ADDRESS_SIZE_IN_BYTES
- See Also:
- Constant Field Values
-
BYTE_SIZE_IN_BITS
public static final int BYTE_SIZE_IN_BITS
- See Also:
- Constant Field Values
-
NO_SEPARATOR_HEX_STRING_PATTERN
private static final java.util.regex.Pattern NO_SEPARATOR_HEX_STRING_PATTERN
-
HEX_CHARS
private static final char[] HEX_CHARS
-
CRC32C_TABLE
private static final int[] CRC32C_TABLE
-
-
Method Detail
-
reverse
public static byte[] reverse(byte[] array)
- Parameters:
array- array- Returns:
- a new array containing specified array's elements in reverse order.
-
getByte
public static byte getByte(byte[] array, int offset)- Parameters:
array- arrayoffset- offset- Returns:
- byte value.
-
toByteArray
public static byte[] toByteArray(byte value)
- Parameters:
value- value- Returns:
- byte array
-
toHexString
public static java.lang.String toHexString(byte value, java.lang.String separator)- Parameters:
value- valueseparator- separator- Returns:
- hex string
-
getShort
public static short getShort(byte[] array, int offset)- Parameters:
array- arrayoffset- offset- Returns:
- short value
-
getShort
public static short getShort(byte[] array, int offset, java.nio.ByteOrder bo)- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- short value
-
toByteArray
public static byte[] toByteArray(short value)
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(short value, java.nio.ByteOrder bo)- Parameters:
value- valuebo- bo- Returns:
- byte array
-
toHexString
public static java.lang.String toHexString(short value, java.lang.String separator)- Parameters:
value- valueseparator- separator- Returns:
- hex string
-
toHexString
public static java.lang.String toHexString(short value, java.lang.String separator, java.nio.ByteOrder bo)- Parameters:
value- valueseparator- separatorbo- bo- Returns:
- hex string
-
getInt
public static int getInt(byte[] array, int offset)- Parameters:
array- arrayoffset- offset- Returns:
- int value.
-
getInt
public static int getInt(byte[] array, int offset, java.nio.ByteOrder bo)- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- int value.
-
getInt
public static int getInt(byte[] array, int offset, int length)- Parameters:
array- arrayoffset- offsetlength- length- Returns:
- int value.
-
getInt
public static int getInt(byte[] array, int offset, int length, java.nio.ByteOrder bo)- Parameters:
array- arrayoffset- offsetlength- lengthbo- bo- Returns:
- int value.
-
toByteArray
public static byte[] toByteArray(int value)
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(int value, java.nio.ByteOrder bo)- Parameters:
value- valuebo- bo- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(int value, int length)- Parameters:
value- valuelength- length- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(int value, int length, java.nio.ByteOrder bo)- Parameters:
value- valuelength- lengthbo- bo- Returns:
- byte array
-
toHexString
public static java.lang.String toHexString(int value, java.lang.String separator)- Parameters:
value- valueseparator- separator- Returns:
- hex string
-
toHexString
public static java.lang.String toHexString(int value, java.lang.String separator, java.nio.ByteOrder bo)- Parameters:
value- valueseparator- separatorbo- bo- Returns:
- hex string
-
getLong
public static long getLong(byte[] array, int offset)- Parameters:
array- arrayoffset- offset- Returns:
- long value
-
getLong
public static long getLong(byte[] array, int offset, java.nio.ByteOrder bo)- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- long value
-
toByteArray
public static byte[] toByteArray(long value)
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(long value, java.nio.ByteOrder bo)- Parameters:
value- valuebo- bo- Returns:
- byte array
-
toHexString
public static java.lang.String toHexString(long value, java.lang.String separator)- Parameters:
value- valueseparator- separator- Returns:
- hex string
-
toHexString
public static java.lang.String toHexString(long value, java.lang.String separator, java.nio.ByteOrder bo)- Parameters:
value- valueseparator- separatorbo- bo- Returns:
- hex string
-
getMacAddress
public static MacAddress getMacAddress(byte[] array, int offset)
- Parameters:
array- arrayoffset- offset- Returns:
- a new MacAddress object.
-
getMacAddress
public static MacAddress getMacAddress(byte[] array, int offset, java.nio.ByteOrder bo)
- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- a new MacAddress object.
-
toByteArray
public static byte[] toByteArray(MacAddress value)
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(MacAddress value, java.nio.ByteOrder bo)
- Parameters:
value- valuebo- bo- Returns:
- byte array
-
getLinkLayerAddress
public static LinkLayerAddress getLinkLayerAddress(byte[] array, int offset, int length)
- Parameters:
array- arrayoffset- offsetlength- length- Returns:
- a new LinkLayerAddress object.
-
getLinkLayerAddress
public static LinkLayerAddress getLinkLayerAddress(byte[] array, int offset, int length, java.nio.ByteOrder bo)
- Parameters:
array- arrayoffset- offsetlength- lengthbo- bo- Returns:
- a new LinkLayerAddress object.
-
toByteArray
public static byte[] toByteArray(LinkLayerAddress value)
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(LinkLayerAddress value, java.nio.ByteOrder bo)
- Parameters:
value- valuebo- bo- Returns:
- byte array
-
getInet4Address
public static java.net.Inet4Address getInet4Address(byte[] array, int offset)- Parameters:
array- arrayoffset- offset- Returns:
- a new Inet4Address object.
-
getInet4Address
public static java.net.Inet4Address getInet4Address(byte[] array, int offset, java.nio.ByteOrder bo)- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- a new Inet4Address object.
-
parseInet4Address
public static byte[] parseInet4Address(java.lang.String addr)
- Parameters:
addr- a string representation of an IPv4 address. (e.g. "192.168.0.100")- Returns:
- a byte array representation of the IPv4 address.
- Throws:
java.lang.IllegalArgumentException- if failed to parse addr.
-
getInet6Address
public static java.net.Inet6Address getInet6Address(byte[] array, int offset)- Parameters:
array- arrayoffset- offset- Returns:
- a new Inet6Address object.
-
getInet6Address
public static java.net.Inet6Address getInet6Address(byte[] array, int offset, java.nio.ByteOrder bo)- Parameters:
array- arrayoffset- offsetbo- bo- Returns:
- a new Inet6Address object.
-
toByteArray
public static byte[] toByteArray(java.net.InetAddress value)
- Parameters:
value- value- Returns:
- byte array
-
toByteArray
public static byte[] toByteArray(java.net.InetAddress value, java.nio.ByteOrder bo)- Parameters:
value- valuebo- bo- Returns:
- byte array
-
getSubArray
public static byte[] getSubArray(byte[] array, int offset, int length)- Parameters:
array- arrayoffset- offsetlength- length- Returns:
- sub array
-
getSubArray
public static byte[] getSubArray(byte[] array, int offset)- Parameters:
array- arrayoffset- offset- Returns:
- sub array
-
toHexString
public static java.lang.String toHexString(byte[] array, java.lang.String separator)- Parameters:
array- arrayseparator- separator- Returns:
- hex string
-
toHexString
public static java.lang.String toHexString(byte[] array, java.lang.String separator, int offset, int length)- Parameters:
array- arrayseparator- separatoroffset- offsetlength- length- Returns:
- hex string
-
calcChecksum
public static short calcChecksum(byte[] data)
A utility method to calculate the Internet checksum.- Parameters:
data- data- Returns:
- checksum
- See Also:
- RFC 1071
-
calcCrc32Checksum
public static int calcCrc32Checksum(byte[] data)
A utility method to calculate CRC-32 checksum.- Parameters:
data- data- Returns:
- checksum
-
calcCrc32cChecksum
public static int calcCrc32cChecksum(byte[] data)
A utility method to calculate CRC-32C checksum.- Parameters:
data- data- Returns:
- checksum
-
calcAdler32Checksum
public static int calcAdler32Checksum(byte[] data)
A utility method to calculate Adler-32 checksum.- Parameters:
data- data- Returns:
- checksum
-
parseByteArray
public static byte[] parseByteArray(java.lang.String hexString, java.lang.String separator)- Parameters:
hexString- hexStringseparator- separator- Returns:
- a new byte array.
-
clone
public static byte[] clone(byte[] array)
- Parameters:
array- array- Returns:
- a clone of array
-
validateBounds
public static void validateBounds(byte[] arr, int offset, int len)A utility method to validate arguments which indicate a part of an array.- Parameters:
arr- arroffset- offsetlen- len- Throws:
java.lang.NullPointerException- if thearris null.java.lang.IllegalArgumentException- ifarris empty orlenis zero.java.lang.ArrayIndexOutOfBoundsException- ifoffsetorlenis negative, or (offset+len) is greater than or equal toarr.length.
-
xor
public static byte[] xor(byte[] arr1, byte[] arr2)- Parameters:
arr1- arr1arr2- arr2- Returns:
- arr1 xor arr2
-
concatenate
public static byte[] concatenate(byte[] arr1, byte[] arr2)- Parameters:
arr1- arr1arr2- arr2- Returns:
- arr1 + arr2
-
concatenate
public static byte[] concatenate(java.util.List<byte[]> arrs)
- Parameters:
arrs- arrays- Returns:
- the concatenated array.
-
-