2020-03-02 09:58:11 +00:00
|
|
|
# Overview
|
|
|
|
|
|
|
|
This application is intended to fuzz test the iSCSI target by submitting
|
|
|
|
randomized PDU commands through a simulated iSCSI initiator.
|
|
|
|
|
2021-08-02 12:27:54 +00:00
|
|
|
## Input
|
2020-03-02 09:58:11 +00:00
|
|
|
|
|
|
|
1. iSCSI initiator send a login request PDU to iSCSI Target. Once a session is connected,
|
|
|
|
2. iSCSI initiator send huge amount and random PDUs continuously to iSCSI Target.
|
|
|
|
3. iSCSI initiator send a logout request PDU to iSCSI Target in the end.
|
2021-08-10 07:49:57 +00:00
|
|
|
|
2020-03-02 09:58:11 +00:00
|
|
|
Especially, iSCSI initiator need to build different bhs according to different bhs opcode.
|
2021-11-25 01:40:59 +00:00
|
|
|
Then iSCSI initiator will receive all kinds of response opcodes from iSCSI Target.
|
2020-03-02 09:58:11 +00:00
|
|
|
The application will terminate when run time expires (see the -t flag).
|
|
|
|
|
2021-08-02 12:27:54 +00:00
|
|
|
## Output
|
2020-03-02 09:58:11 +00:00
|
|
|
|
|
|
|
By default, the fuzzer will print commands that:
|
2021-08-10 07:49:57 +00:00
|
|
|
|
2020-03-02 09:58:11 +00:00
|
|
|
1. Complete successfully back from the target, or
|
|
|
|
2. Are outstanding at the time of a connection error occurs.
|
2021-08-10 07:49:57 +00:00
|
|
|
|
2020-03-02 09:58:11 +00:00
|
|
|
Commands are dumped as named objects in json format which can then be supplied back to the
|
|
|
|
script for targeted debugging on a subsequent run.
|
|
|
|
|
|
|
|
At the end of each test run, a summary is printed in the following format:
|
|
|
|
|
2021-08-24 07:04:22 +00:00
|
|
|
~~~bash
|
2020-03-02 09:58:11 +00:00
|
|
|
device 0x11c3b90 stats: Sent 1543 valid opcode PDUs, 16215 invalid opcode PDUs.
|
|
|
|
~~~
|