Package org.pcap4j.util
Class ByteArrays
- java.lang.Object
-
- org.pcap4j.util.ByteArrays
-
public final class ByteArrays extends java.lang.Object
- Since:
- pcap4j 0.9.1
- Author:
- Kaito Yamada
-
-
Field Summary
Fields Modifier and Type Field Description static int
BYTE_SIZE_IN_BITS
static int
BYTE_SIZE_IN_BYTES
static int
INET4_ADDRESS_SIZE_IN_BYTES
static int
INET6_ADDRESS_SIZE_IN_BYTES
static int
INT_SIZE_IN_BYTES
static int
LONG_SIZE_IN_BYTES
static int
SHORT_SIZE_IN_BYTES
-
Method Summary
Modifier and Type Method Description static int
calcAdler32Checksum(byte[] data)
A utility method to calculate Adler-32 checksum.static short
calcChecksum(byte[] data)
A utility method to calculate the Internet checksum.static int
calcCrc32cChecksum(byte[] data)
A utility method to calculate CRC-32C checksum.static int
calcCrc32Checksum(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 byte
getByte(byte[] array, int offset)
static java.net.Inet4Address
getInet4Address(byte[] array, int offset)
static java.net.Inet4Address
getInet4Address(byte[] array, int offset, java.nio.ByteOrder bo)
static java.net.Inet6Address
getInet6Address(byte[] array, int offset)
static java.net.Inet6Address
getInet6Address(byte[] array, int offset, java.nio.ByteOrder bo)
static int
getInt(byte[] array, int offset)
static int
getInt(byte[] array, int offset, int length)
static int
getInt(byte[] array, int offset, int length, java.nio.ByteOrder bo)
static int
getInt(byte[] array, int offset, java.nio.ByteOrder bo)
static LinkLayerAddress
getLinkLayerAddress(byte[] array, int offset, int length)
static LinkLayerAddress
getLinkLayerAddress(byte[] array, int offset, int length, java.nio.ByteOrder bo)
static long
getLong(byte[] array, int offset)
static long
getLong(byte[] array, int offset, java.nio.ByteOrder bo)
static MacAddress
getMacAddress(byte[] array, int offset)
static MacAddress
getMacAddress(byte[] array, int offset, java.nio.ByteOrder bo)
static short
getShort(byte[] array, int offset)
static short
getShort(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.String
toHexString(byte[] array, java.lang.String separator)
static java.lang.String
toHexString(byte[] array, java.lang.String separator, int offset, int length)
static java.lang.String
toHexString(byte value, java.lang.String separator)
static java.lang.String
toHexString(int value, java.lang.String separator)
static java.lang.String
toHexString(int value, java.lang.String separator, java.nio.ByteOrder bo)
static java.lang.String
toHexString(long value, java.lang.String separator)
static java.lang.String
toHexString(long value, java.lang.String separator, java.nio.ByteOrder bo)
static java.lang.String
toHexString(short value, java.lang.String separator)
static java.lang.String
toHexString(short value, java.lang.String separator, java.nio.ByteOrder bo)
static void
validateBounds(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
-
-
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 thearr
is null.java.lang.IllegalArgumentException
- ifarr
is empty.LengthZeroException
- iflen
is zero.java.lang.ArrayIndexOutOfBoundsException
- ifoffset
orlen
is 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.
-
-