Get raw text for this example
/*   Traces requests to HTTP server and parses them.   Outputs <host><url> for urls which ends up by html, htm, php or empty extension.   Can distinguish parameters in url after ?.     Runs as   anettest -d eth0#0 -f this_file.fws    */
INCLUDE
PARAMETERS: <name of file>
Starts processing the content of given file. The search of file will be performed in the current directory, all search paths (see option -I). For every path the content of samples, headers, traces folders will be also examined. You can also type just the name of file without INCLUDE
PARAMETERS: <name of file>
Starts processing the content of given file. The search of file will be performed in the current directory, all search paths (see option -I). For every path the content of samples, headers, traces folders will be also examined. You can also type just the name of file without INCLUDE
PARAMETERS: <name of file>
Starts processing the content of given file. The search of file will be performed in the current directory, all search paths (see option -I). For every path the content of samples, headers, traces folders will be also examined. You can also type just the name of file without include before it.
before it.
before it.
tcp
// creates variables
int v1 = 0 int v2 = 0
// defines fields (their position and size will be recalculated for each packet)
.host
''
.url
''
.extension
''
// describes the packet which will be expected
FILTER
PARAMETERS: <name of interface> <filter string>
Sets the fast low-level filter (which is used by tcpdump) for the given interface. The format of filter is described in libpcap (WinPcap) or tcpdump documentation. See "samples/my_gateway"
0
"tcp"
// low-level fast filter
CLEARMASK
PARAMETERS: no parameters
The mask of packet (the set of previously defined conditions) will be cleared. New mask will correspond to any packet. This command is usually contained in headers to make the mask correspond to all packets of given type (ex: TCP packets).
//dstport = http
// will be faster if uncomment but will trace only 80 port
TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in DEFAULTS
PARAMETERS: {accept | drop | any | REVERS
PARAMETERS: not command
Request specification. May only be given in parameters for DEFAULT command. Instructs to reverse the request for every packet.
}
Defines default requests for packets. These requests will be applied when there are not enough explicitly defined requests for some packet (specified as parameters to command SEND, WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
and its analogs). Initially default requests are ACCEPT ANY ANY... i.e. a single request for the first interface specified via option -d.
(command DEFAULT). For TCP DEVICE
PARAMETERS: <type of device> {<name of interface>}
Reopens interfaces. The type of device: eth, ip, tcp. The name of device is the same as for -d option, depends on the type of device. New line terminates the list of names.
the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
(WAITALL
PARAMETERS: no parameters
The analog of WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in DEFAULTS
PARAMETERS: {accept | drop | any | REVERS
PARAMETERS: not command
Request specification. May only be given in parameters for DEFAULT command. Instructs to reverse the request for every packet.
}
Defines default requests for packets. These requests will be applied when there are not enough explicitly defined requests for some packet (specified as parameters to command SEND, WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
and its analogs). Initially default requests are ACCEPT ANY ANY... i.e. a single request for the first interface specified via option -d.
(command DEFAULT). For TCP DEVICE
PARAMETERS: <type of device> {<name of interface>}
Reopens interfaces. The type of device: eth, ip, tcp. The name of device is the same as for -d option, depends on the type of device. New line terminates the list of names.
the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
(WAITALL
PARAMETERS: no parameters
The analog of WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command (or using of UNFIX
PARAMETERS: no parameters
By default after the work of WAIT command (its analogs) the statuses for all waited packets will be fixed, so there may be no packets to wait for the next call to WAIT. This command marks these old packets as newly added. The previous status for them will be lost. Take a note of that ALL old packets will be unfixed, so they will be waited: this may cause unexpected results. Consider the use of CLEARREG
PARAMETERS: no parameters
Clears the information about all the packets which were added to the waited ones (by WAIT, ADD
PARAMETERS:
Alias of TOWAIT command.
commands). They will not be displayed in final report (or in the report that is displayed by SHOWREP
PARAMETERS: no parameters
Displays a report which is the same as that displayed while program termination.
command). If this command is typed at the end of script then it omits the displaying of final report (sense there are no packet in it).
command.
command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND
PARAMETERS: {accept | drop | any }
In common regime generates the packet defined above. In other regimes (testing packet filter, see command FASTTEST
PARAMETERS: no parameters
Enables fasttest regime for packet filter test. See "samples/fasttest".
and option -c) may simply separate packets one from another, so by this command the current content of buffer will be fixed and the new packet will be registered. The requests after command don't make sense in common regime (only while testing packet filter).
but before WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command (or using of UNFIX
PARAMETERS: no parameters
By default after the work of WAIT command (its analogs) the statuses for all waited packets will be fixed, so there may be no packets to wait for the next call to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
. This command marks these old packets as newly added. The previous status for them will be lost. Take a note of that ALL old packets will be unfixed, so they will be waited: this may cause unexpected results. Consider the use of CLEARREG
PARAMETERS: no parameters
Clears the information about all the packets which were added to the waited ones (by WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
, ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
commands). They will not be displayed in final report (or in the report that is displayed by SHOWREP
PARAMETERS: no parameters
Displays a report which is the same as that displayed while program termination.
command). If this command is typed at the end of script then it omits the displaying of final report (sense there are no packet in it).
command.
command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND
PARAMETERS: {accept | drop | any }
In common regime generates the packet defined above. In other regimes (testing packet filter, see command FASTTEST
PARAMETERS: no parameters
Enables fasttest regime for packet filter test. See "samples/fasttest".
and option -c) may simply separate packets one from another, so by this command the current content of buffer will be fixed and the new packet will be registered. The requests after command don't make sense in common regime (only while testing packet filter).
WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
stop waiting if it was accepted after SEND
PARAMETERS: {accept | drop | any }
In common regime generates the packet defined above. In other regimes (testing packet filter, see command FASTTEST
PARAMETERS: no parameters
Enables fasttest regime for packet filter test. See "samples/FASTTEST
PARAMETERS: no parameters
Enables fasttest regime for packet filter test. See "samples/fasttest".
".
and option -c) may simply separate packets one from another, so by this command the current content of buffer will be fixed and the new packet will be registered. The requests after command don't make sense in common regime (only while testing packet filter).
but before WAITALL
PARAMETERS: no parameters
The analog of WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command (or using of UNFIX
PARAMETERS: no parameters
By default after the work of WAIT command (its analogs) the statuses for all waited packets will be fixed, so there may be no packets to wait for the next call to WAIT. This command marks these old packets as newly added. The previous status for them will be lost. Take a note of that ALL old packets will be unfixed, so they will be waited: this may cause unexpected results. Consider the use of CLEARREG
PARAMETERS: no parameters
Clears the information about all the packets which were added to the waited ones (by WAIT, ADD
PARAMETERS:
Alias of TOWAIT command.
commands). They will not be displayed in final report (or in the report that is displayed by SHOWREP
PARAMETERS: no parameters
Displays a report which is the same as that displayed while program termination.
command). If this command is typed at the end of script then it omits the displaying of final report (sense there are no packet in it).
command.
command).
started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
// adds the packet to waitable ones
// base configuration
PRECISEWAIT
PARAMETERS: no parameters
After the work of WAIT command (its analogs) all trace threads will be blocked until the next call to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command. So there will be no missed packets between subsequent calls to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in DEFAULTS
PARAMETERS: {accept | drop | any | REVERS
PARAMETERS: not command
Request specification. May only be given in parameters for DEFAULT command. Instructs to reverse the request for every packet.
}
Defines default requests for packets. These requests will be applied when there are not enough explicitly defined requests for some packet (specified as parameters to command SEND, WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
and its analogs). Initially default requests are ACCEPT ANY ANY... i.e. a single request for the first interface specified via option -d.
(command DEFAULT). For TCP DEVICE
PARAMETERS: <type of device> {<name of interface>}
Reopens interfaces. The type of device: eth, ip, tcp. The name of device is the same as for -d option, depends on the type of device. New line terminates the list of names.
the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command.
COPYREC
PARAMETERS: no parameters
The received packet (see command WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in DEFAULTS
PARAMETERS: {accept | drop | any | REVERS
PARAMETERS: not command
Request specification. May only be given in parameters for DEFAULT command. Instructs to reverse the request for every packet.
}
Defines default requests for packets. These requests will be applied when there are not enough explicitly defined requests for some packet (specified as parameters to command SEND, WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
and its analogs). Initially default requests are ACCEPT ANY ANY... i.e. a single request for the first interface specified via option -d.
(command DEFAULT). For TCP DEVICE
PARAMETERS: <type of device> {<name of interface>}
Reopens interfaces. The type of device: eth, ip, tcp. The name of device is the same as for -d option, depends on the type of device. New line terminates the list of names.
the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
, its analogs) will be copied to the buffer of current packet. Precision waiting must be first enabled (command PRECISEWAIT
PARAMETERS: no parameters
After the work of WAIT command (its analogs) all trace threads will be blocked until the next call to WAIT command. So there will be no missed packets between subsequent calls to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command.
). See also NOTCOPYREC
PARAMETERS: no parameters
Reverses the action of COPYREC
PARAMETERS: no parameters
The received packet (see command WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
, its analogs) will be copied to the buffer of current packet. Precision waiting must be first enabled (command PRECISEWAIT
PARAMETERS: no parameters
After the work of WAIT command (its analogs) all trace threads will be blocked until the next call to WAIT command. So there will be no missed packets between subsequent calls to WAIT command.
). See also NOTCOPYREC
PARAMETERS: no parameters
Reverses the action of COPYREC
PARAMETERS: no parameters
The received packet (see command WAIT, its analogs) will be copied to the buffer of current packet. Precision waiting must be first enabled (command PRECISEWAIT). See also NOTCOPYREC
PARAMETERS: no parameters
Reverses the action of COPYREC command.
command.
command.
command.
command.
command.
QUIET
PARAMETERS: no parameters
Instructs to not display some annoying messages.
// the main cycle
CYC
PARAMETERS: <number of iterations>
Command instructs that next WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in DEFAULTS
PARAMETERS: {accept | drop | any | REVERS
PARAMETERS: not command
Request specification. May only be given in parameters for DEFAULT command. Instructs to reverse the request for every packet.
}
Defines default requests for packets. These requests will be applied when there are not enough explicitly defined requests for some packet (specified as parameters to command SEND, WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
and its analogs). Initially default requests are ACCEPT ANY ANY... i.e. a single request for the first interface specified via option -d.
(command DEFAULT). For TCP DEVICE
PARAMETERS: <type of device> {<name of interface>}
Reopens interfaces. The type of device: eth, ip, tcp. The name of device is the same as for -d option, depends on the type of device. New line terminates the list of names.
the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) or next block of script will be processed by several times = <number of iterations>. The "inf" value is available which means infinite iterant processing.
inf {
// waits for packet
WAITALL
PARAMETERS: no parameters
The analog of WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in DEFAULTS
PARAMETERS: {accept | drop | any | REVERS
PARAMETERS: not command
Request specification. May only be given in parameters for DEFAULT command. Instructs to reverse the request for every packet.
}
Defines default requests for packets. These requests will be applied when there are not enough explicitly defined requests for some packet (specified as parameters to command SEND, WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
and its analogs). Initially default requests are ACCEPT ANY ANY... i.e. a single request for the first interface specified via option -d.
(command DEFAULT). For TCP DEVICE
PARAMETERS: <type of device> {<name of interface>}
Reopens interfaces. The type of device: eth, ip, tcp. The name of device is the same as for -d option, depends on the type of device. New line terminates the list of names.
the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
(WAITALL
PARAMETERS: no parameters
The analog of WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command (or using of UNFIX
PARAMETERS: no parameters
By default after the work of WAIT command (its analogs) the statuses for all waited packets will be fixed, so there may be no packets to wait for the next call to WAIT. This command marks these old packets as newly added. The previous status for them will be lost. Take a note of that ALL old packets will be unfixed, so they will be waited: this may cause unexpected results. Consider the use of CLEARREG
PARAMETERS: no parameters
Clears the information about all the packets which were added to the waited ones (by WAIT, ADD
PARAMETERS:
Alias of TOWAIT command.
commands). They will not be displayed in final report (or in the report that is displayed by SHOWREP
PARAMETERS: no parameters
Displays a report which is the same as that displayed while program termination.
command). If this command is typed at the end of script then it omits the displaying of final report (sense there are no packet in it).
command.
command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND
PARAMETERS: {accept | drop | any }
In common regime generates the packet defined above. In other regimes (testing packet filter, see command FASTTEST
PARAMETERS: no parameters
Enables fasttest regime for packet filter test. See "samples/fasttest".
and option -c) may simply separate packets one from another, so by this command the current content of buffer will be fixed and the new packet will be registered. The requests after command don't make sense in common regime (only while testing packet filter).
but before WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command (or using of UNFIX
PARAMETERS: no parameters
By default after the work of WAIT command (its analogs) the statuses for all waited packets will be fixed, so there may be no packets to wait for the next call to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
. This command marks these old packets as newly added. The previous status for them will be lost. Take a note of that ALL old packets will be unfixed, so they will be waited: this may cause unexpected results. Consider the use of CLEARREG
PARAMETERS: no parameters
Clears the information about all the packets which were added to the waited ones (by WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
, ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
commands). They will not be displayed in final report (or in the report that is displayed by SHOWREP
PARAMETERS: no parameters
Displays a report which is the same as that displayed while program termination.
command). If this command is typed at the end of script then it omits the displaying of final report (sense there are no packet in it).
command.
command).
// some packet has been received, processing it
IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
ip.hlen == 5 {
// packet has standard header
 
/* example:   GET /portalHelp2/ohw?topic=pobpgcr1_htm&locale=ru HTTP/1.1   User-Agent: Opera/9.10 (Windows NT 5.1; U; en)   Host: www3.imperial.ac.uk   */
// searches GET word
POS
PARAMETERS: <new position> | <field's name>
Sets the <new position> of byte pointer. In the case of <field's name> new position will be equal to field's position.
= data v1 = CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
v1 += 4 GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
(
'GET'
, v1) IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
= 1 {
// word GET found
// searches Host word
POS
PARAMETERS: <new position> | <field's name>
Sets the <new position> of byte pointer. In the case of <field's name> new position will be equal to field's position.
= data GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
(
'Host:'
, 250) IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
= 1 {
//
'Host'
string is found
// configures host field (Host: www.mail.ru\r\n)
GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
(
' '
, 250) PASS
PARAMETERS: <number of bytes>
Increases the byte pointer for the given <number of bytes>.
1 SETPOS
PARAMETERS: <field's name> <decimal value of a new position>
Sets a new position for the given field.
(host, CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
) v1 = CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
(
'\r'
) v2 = CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
v2 -= v1 SETSIZE
PARAMETERS: <name of field> <decimal value of a new size of field>
Allows to specify the size for fields which don't have concrete size initially (strings). It can be also used to change the size for fields with concrete size (hexadecimal numbers). Value "any" may be used to specify the undefined size. A variable may be given so the size may be calculated before. See "samples/http_parser".
(host, v2)
// searches the beginning of URL
POS
PARAMETERS: <new position> | <field's name>
Sets the <new position> of byte pointer. In the case of <field's name> new position will be equal to field's position.
data GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
(
' '
) PASS
PARAMETERS: <number of bytes>
Increases the byte pointer for the given <number of bytes>.
1 int urlStartPos = CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
SETPOS
PARAMETERS: <field's name> <decimal value of a new position>
Sets a new position for the given field.
(url, urlStartPos)
// searches the end of URL
GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
(
' HTTP'
) IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
(GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
= 1) {
// the end of URL found
// configures the URL field
int urlEndPos = CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
int size = CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
// the end of url
size -= urlStartPos SETSIZE
PARAMETERS: <name of field> <decimal value of a new size of field>
Allows to specify the size for fields which don't have concrete size initially (strings). It can be also used to change the size for fields with concrete size (hexadecimal numbers). Value "any" may be used to specify the undefined size. A variable may be given so the size may be calculated before. See "samples/http_parser".
(url, size)
// searches the ? symbol in URL (page path before it)
POS
PARAMETERS: <new position> | <field's name>
Sets the <new position> of byte pointer. In the case of <field's name> new position will be equal to field's position.
= urlStartPos int pagePathEnd = urlEndPos GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
(
'?'
, urlEndPos) IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
(GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
= 1) {
// ? not found
pagePathEnd = CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
} POS
PARAMETERS: <new position> | <field's name>
Sets the <new position> of byte pointer. In the case of <field's name> new position will be equal to field's position.
= pagePathEnd
// now position is on ? or on the end of url
// searches for last slash in page path
GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
(
'/'
, urlStartPos) int slashPos = 0 IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
(GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
= 1) { slashPos = CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
}
// searches the . at the end of url or before ?
POS
PARAMETERS: <new position> | <field's name>
Sets the <new position> of byte pointer. In the case of <field's name> new position will be equal to field's position.
= pagePathEnd GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
(
'.'
, slashPos) IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
(GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO command but performs back search.
command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
or GOTOB
PARAMETERS: <value of any type> [<stop position>]
Is similar to GOTO
PARAMETERS: <value of any type> [<stop position>]
Performs the search of the given value in current packet. The search will be started from the current position of byte pointer. Value may has any type. The result of search is available through GOTORES
PARAMETERS: no command
This is a special value which allows to get the result of last search performed by GOTO or GOTOB command. 1 - successful search, 0 - not successful search.
keyword. In the case of successful search the byte pointer will be moved to the found entry. Stop position may be equal to -1. It means search to the end of packet. Stop position may be omitted but in this case parameters must be enclosed in brackets.
command but performs BACK
PARAMETERS: <number of bytes>
Reduces the pointer for the given <number of bytes>.
search.
command. 1 - successful search, 0 - not successful search.
= 1) {
// . is found
// configures the extension field
PASS
PARAMETERS: <number of bytes>
Increases the byte pointer for the given <number of bytes>.
1 SETPOS
PARAMETERS: <field's name> <decimal value of a new position>
Sets a new position for the given field.
extension CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
int size = pagePathEnd size -= CURPOS
PARAMETERS: no command
This special value allows to get the current value of byte pointer.
SETSIZE
PARAMETERS: <name of field> <decimal value of a new size of field>
Allows to specify the size for fields which don't have concrete size initially (strings). It can be also used to change the size for fields with concrete size (hexadecimal numbers). Value "any" may be used to specify the undefined size. A variable may be given so the size may be calculated before. See "samples/http_parser".
extension size IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
(extension =
'html'
) { PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
'$host$$url$\n'
} IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
(extension =
'htm'
) { PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
'$host$$url$\n'
} IF
PARAMETERS: <value1> <type of compare> <value2> "{" <first block of script> "}" [ "else" "{" <second block of script> "}" ]
Processes the first block of script if condition is met, otherwise processes the second block if it is specified. <Types of compare>: = (==), !=, >, <, >=, <=. Hexadecimals number are treated as strings (with 0x prefix). If you have problems try to watch how these values are represented by string using PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
command for example.
(extension =
'php'
) { PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
'$host$$url$\n'
} } else { PRINT
PARAMETERS: <message>
Displays the given message. Use symbol in message to indicate that line feed must be performed.
'$host$$url$\n'
} } } } } UNFIX
PARAMETERS: no parameters
By default after the work of WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) the statuses for all waited packets will be fixed, so there may be no packets to wait for the next call to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in DEFAULTS
PARAMETERS: {accept | drop | any | REVERS
PARAMETERS: not command
Request specification. May only be given in parameters for DEFAULT command. Instructs to reverse the request for every packet.
}
Defines default requests for packets. These requests will be applied when there are not enough explicitly defined requests for some packet (specified as parameters to command SEND, WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
and its analogs). Initially default requests are ACCEPT ANY ANY... i.e. a single request for the first interface specified via option -d.
(command DEFAULT). For TCP DEVICE
PARAMETERS: <type of device> {<name of interface>}
Reopens interfaces. The type of device: eth, ip, tcp. The name of device is the same as for -d option, depends on the type of device. New line terminates the list of names.
the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
. This command marks these old packets as newly added. The previous status for them will be lost. Take a note of that ALL old packets will be unfixed, so they will be waited: this may cause unexpected results. Consider the use of CLEARREG
PARAMETERS: no parameters
Clears the information about all the packets which were added to the waited ones (by WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in DEFAULTS
PARAMETERS: {accept | drop | any | REVERS
PARAMETERS: not command
Request specification. May only be given in parameters for DEFAULT command. Instructs to reverse the request for every packet.
}
Defines default requests for packets. These requests will be applied when there are not enough explicitly defined requests for some packet (specified as parameters to command SEND, WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
and its analogs). Initially default requests are ACCEPT ANY ANY... i.e. a single request for the first interface specified via option -d.
(command DEFAULT). For TCP DEVICE
PARAMETERS: <type of device> {<name of interface>}
Reopens interfaces. The type of device: eth, ip, tcp. The name of device is the same as for -d option, depends on the type of device. New line terminates the list of names.
the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
, ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
(WAITALL
PARAMETERS: no parameters
The analog of WAIT
PARAMETERS: {accept | drop | any }
Waits for packet whose mask is defined above. The command will finish work when such packet is received on waitable interface. The waitable interface is interface for which strict request (accept or drop) have been specified in parameters to command or in defaults (command DEFAULT). For TCP device the command will only wait data on the main interface. In the general case command may wait no one but several packets (added by ADD
PARAMETERS:
Alias of TOWAIT command.
command). If any of them is received then command terminates. Command waits packets until timeout expires (command TIMEOUT
PARAMETERS: <interval in milliseconds>
Defines the timeout for WAIT command (and its analogs), also for imitation of application's work. Null value means infinite timeout (such timeout will not be applied for imitation of application's work). In the case of negative value its absolute value will be obtained as timeout, but WAIT command (its analogs) will work differently: it will always wait for the whole timeout (not terminating on first received packet). So several packets may be registered as received. This command also defines the timeout for TCP server while waiting for connections.
). See "samples/waiting_packets.fws".
command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT
PARAMETERS: {accept | drop | any }
Analog of WAIT command. Adds the above packet to the set of packets which will be waited by command WAIT or its analogs. This command does not start actual waiting (doesn't suspend script execution). Nevertheless, just after adding the packet may be registered as received. If some packet is registered as received before the call to WAIT (WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND but before WAITALL started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
command (or using of UNFIX
PARAMETERS: no parameters
By default after the work of WAIT command (its analogs) the statuses for all waited packets will be fixed, so there may be no packets to wait for the next call to WAIT. This command marks these old packets as newly added. The previous status for them will be lost. Take a note of that ALL old packets will be unfixed, so they will be waited: this may cause unexpected results. Consider the use of CLEARREG
PARAMETERS: no parameters
Clears the information about all the packets which were added to the waited ones (by WAIT, ADD
PARAMETERS:
Alias of TOWAIT command.
commands). They will not be displayed in final report (or in the report that is displayed by SHOWREP
PARAMETERS: no parameters
Displays a report which is the same as that displayed while program termination.
command). If this command is typed at the end of script then it omits the displaying of final report (sense there are no packet in it).
command.
command).
) then the command will ignore it and wait for a next packet (see also SENDWAITOTHER
PARAMETERS: no parameters
Works similar to "SEND WAITALL" sentence. Purpose: make atomic operation. Without this command there would be a chance that a waited packet did not cause command WAITALL stop waiting if it was accepted after SEND
PARAMETERS: {accept | drop | any }
In common regime generates the packet defined above. In other regimes (testing packet filter, see command FASTTEST
PARAMETERS: no parameters
Enables fasttest regime for packet filter test. See "samples/fasttest".
and option -c) may simply separate packets one from another, so by this command the current content of buffer will be fixed and the new packet will be registered. The requests after command don't make sense in common regime (only while testing packet filter).
but before WAITALL
PARAMETERS: no parameters
The analog of WAIT command. Doesn't add the previously defined packet to the list of waited ones. Starts waiting simply. Packets may be already added by ADD
PARAMETERS:
Alias of TOWAIT command.
command (or using of UNFIX command).
started waiting. However it would be registered as received in any case. This command should be always used when you need to send a request and RELIABLY receive a response on it never missing.
).
command.
commands). They will not be displayed in final report (or in the report that is displayed by SHOWREP
PARAMETERS: no parameters
Displays a report which is the same as that displayed while program termination.
command). If this command is typed at the end of script then it omits the displaying of final report (sense there are no packet in it).
command.
}