|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sourceforge.jpcap.capture.PacketDispatcher net.sourceforge.jpcap.capture.PacketCaptureBase net.sourceforge.jpcap.simulator.PacketCaptureSimulator
This class has the same external interface as PacketCapture.
Instead of capturing and dispatching packets from a physical network device, however, this class generates fake packets. The type and frequency of the packets is set by policies configured in the simulator property file.
Instances of this class are used mostly by developers working on applications that utilize jpcap in environments where a real network device isn't available or when the type of packets arriving needs to be carefully controlled.
For more documentation on this class's methods, see PacketCaptureCapable; Javadoc is 'inherited' from this interface.
Field Summary |
Fields inherited from class net.sourceforge.jpcap.capture.PacketCaptureBase |
droppedCount, linkType, receivedCount |
Fields inherited from interface net.sourceforge.jpcap.capture.PacketCaptureCapable |
DEFAULT_SNAPLEN, DEFAULT_TIMEOUT |
Constructor Summary | |
PacketCaptureSimulator()
|
Method Summary | |
void |
capture(int count)
The simulator's implementation of capture causes packets to be randomly generated. |
void |
close()
Close the capture device. |
java.lang.String |
findDevice()
Detect a network device suitable for packet capture. |
int |
getLinkLayerType()
Fetch the link layer type for the specified device. |
int |
getNetmask(java.lang.String device)
Fetch the network mask for the specified device. |
int |
getNetwork(java.lang.String device)
Fetch the network number for the specified device. |
int |
getSnapshotLength()
Get the snapshot length given that network device is open. |
CaptureStatistics |
getStatistics()
Fetch statistics on captured packets. |
java.lang.String[] |
lookupDevices()
|
void |
open(java.lang.String device,
boolean promiscuous)
Open a network device for data capture. |
void |
open(java.lang.String device,
int snaplen,
boolean promiscuous,
int timeout)
Open a network device for data capture. |
void |
openOffline(java.lang.String fileName)
Open a tcpdump-formatted savefile. |
void |
setFilter(java.lang.String filterExpression,
boolean optimize)
Create, compile and activate a filter from a filter expression. |
Methods inherited from class net.sourceforge.jpcap.capture.PacketCaptureBase |
handlePacket |
Methods inherited from class net.sourceforge.jpcap.capture.PacketDispatcher |
addPacketListener, addRawPacketListener, dispatchPacket, dispatchRawPacket, removePacketListener, removeRawPacketListener |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface net.sourceforge.jpcap.capture.PacketCaptureCapable |
addPacketListener, addRawPacketListener, removePacketListener, removeRawPacketListener |
Constructor Detail |
public PacketCaptureSimulator()
Method Detail |
public void open(java.lang.String device, boolean promiscuous) throws CaptureDeviceOpenException
PacketCaptureCapable
open
in interface PacketCaptureCapable
device
- the name of the network device.
Examples of valid network devices on linux are 'eth0' and 'ppp0'.promiscuous
- whether or not the device should be opened in
promiscuous mode.
CaptureDeviceOpenException
public void open(java.lang.String device, int snaplen, boolean promiscuous, int timeout)
PacketCaptureCapable
open
in interface PacketCaptureCapable
device
- the name of the network device.
Examples of valid network devices on linux are 'eth0' and 'ppp0'.snaplen
- the 'snapshot' length. Defines the maximum number of
bytes to save from each captured packet.promiscuous
- whether or not the device should be opened in
promiscuous mode.timeout
- the packet capture timeout in milliseconds.public void openOffline(java.lang.String fileName)
PacketCaptureCapable
openOffline
in interface PacketCaptureCapable
fileName
- the name of the savefile.public void setFilter(java.lang.String filterExpression, boolean optimize) throws InvalidFilterException
PacketCaptureCapable
setFilter
in interface PacketCaptureCapable
filterExpression
- the filter expression. For example,
the expression "host techno" would filter only packets sent or
arriving at the host named techno.optimize
- whether or not the resulting bpf code is optimized
internally by libpcap.
InvalidFilterException
public void capture(int count) throws CapturePacketException
capture
in interface PacketCaptureCapable
count
- the number of packets to capture.
If count is negative, capture will block forever, unless an exception
is thrown.
CapturePacketException
public CaptureStatistics getStatistics()
PacketCaptureCapable
getStatistics
in interface PacketCaptureCapable
public void close()
PacketCaptureCapable
close
in interface PacketCaptureCapable
public java.lang.String findDevice() throws CaptureDeviceNotFoundException
PacketCaptureCapable
findDevice
in interface PacketCaptureCapable
CaptureDeviceNotFoundException
public java.lang.String[] lookupDevices() throws CaptureDeviceLookupException
CaptureDeviceLookupException
public int getNetwork(java.lang.String device) throws CaptureConfigurationException
PacketCaptureCapable
getNetwork
in interface PacketCaptureCapable
device
- the name of the network device.
CaptureConfigurationException
public int getNetmask(java.lang.String device) throws CaptureConfigurationException
PacketCaptureCapable
getNetmask
in interface PacketCaptureCapable
device
- the name of the network device.
CaptureConfigurationException
public int getLinkLayerType() throws CaptureConfigurationException
PacketCaptureCapable
getLinkLayerType
in interface PacketCaptureCapable
CaptureConfigurationException
public int getSnapshotLength()
PacketCaptureCapable
getSnapshotLength
in interface PacketCaptureCapable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |