NAME
NetPacket::USBMon - Assemble and disassemble USB packets captured via Linux USBMon interface.
VERSION
version 1.5.0
SYNOPSIS
use NetPacket::USBMon;
$usb = NetPacket::USBMon->decode($raw_pkt);
DESCRIPTION
NetPacket::USBMon
is a NetPacket decoder of USB packets captured via Linux USBMon interface.
Methods
Instance data
The instance data for the NetPacket::UDP
object consists of the following fields.
- id
-
An in-kernel address of the USB Request Block (URB). Stays the same for the transaction submission and completion.
Might be truncatted when reading a 64-bit capture with 32-bit file.
- type
-
URB type. Character 'S', 'C' or 'E', for constants USB_TYPE_SUBMISSION, USB_TYPE_CALLBACK or USB_TYPE_ERROR.
- xfer_type
-
Transfer type. USB_XFER_TYPE_ISO, USB_XFER_TYPE_INTR, USB_XFER_TYPE_CONTROL or USB_XFER_TYPE_BULK.
- ep
-
Endpoint identification.
- num
-
Endpoint number.
- dir
-
Transfer direction. "IN" or "OUT".
- devnum
-
Device address.
- busnum
-
Bus number.
- flag_setup
-
Indicates whether setup is present and makes sense.
- flag_data
-
Indicates whether data is present and makes sense.
- ts_sec
-
Timestamp seconds since epoch. Subject to truncation with 32-bit Perl, which should be fine until 2038.
- ts_usec
-
Timestamp microseconds.
- status
-
URB status. Negative errno.
- length
-
Length of data (submitted or actual).
- len_cap
-
Delivered length
- setup
-
Only present for packets with setup_flag turned on. Some contents are dependent on actual request type.
- bmRequestType
- bRequest
- wValue
- wIndex
- wLength
- iso
-
Only present for isochronous transfers.
- error_count
- numdesc
- interval
-
Isochronous packet response rate.
- start_frame
-
Only applicable to isochronous transfers.
- xfer_flags
-
A copy of URB's transfer_flags.
- ndesc
-
Actual number of isochronous descriptors.
- data
-
Packet payload.
Exports
- default
-
none
- exportable
-
USB_TYPE_SUBMISSION, USB_TYPE_CALLBACK, USB_TYPE_ERROR, USB_XFER_TYPE_ISO, USB_XFER_TYPE_INTR, USB_XFER_TYPE_CONTROL, USB_XFER_TYPE_BULK, USB_FLAG_SETUP_IRRELEVANT, USB_FLAG_SETUP_RELEVANT, USB_FLAG_DATA_ERROR, USB_FLAG_DATA_INCOMING, USB_FLAG_DATA_OUTGOING, USB_FLAG_DATA_PRESENT, USB_TYPE_VENDOR
-
The following tags group together related exportable items.
:types
-
USB_TYPE_SUBMISSION, USB_TYPE_CALLBACK, USB_TYPE_ERROR
:xfer_types
-
USB_XFER_TYPE_ISO, USB_XFER_TYPE_INTR, USB_XFER_TYPE_CONTROL, USB_XFER_TYPE_BULK
:setup_flags
-
USB_FLAG_SETUP_IRRELEVANT, USB_FLAG_SETUP_RELEVANT
:data_flags
-
USB_FLAG_DATA_ERROR, USB_FLAG_DATA_INCOMING, USB_FLAG_DATA_OUTGOING, USB_FLAG_DATA_PRESENT
:setup_types
-
USB_TYPE_VENDOR
:ALL
-
All the above exportable items.
COPYRIGHT
Copyright (c) 2013 Lubomir Rintel.
This module is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Lubomir Rintel <lkundrak@v3.sk>