ipf -- alters packet filtering lists for IP packet input and output


ipf [ -AdDEInorsUvyzZ ] [ -l <block|pass|nomatch> ] [ -F <i|o|a|s|S> ] -f <filename> [ -f <filename> [...]]


ipf opens the filenames listed (treating "-" as stdin) and parses the file for a set of rules which are to be added or removed from the packet filter rule set.

Each rule processed by ipf is added to the kernel's internal lists if there are no parsing problems. Rules are added to the end of the internal lists, matching the order in which they appear when given to ipf.


Set the list to make changes to the active list (default).

Turn debug mode on. Causes a hexdump of filter rules to be generated as it processes each one.

Disable the filter (if enabled). Not available for SCO OpenServer.

Enable the filter (if disabled). Not available for SCO OpenServer.

-F <i|o|a>
This option specifies which filter list to flush. The parameter should either be "i" (input), "o" (output) or "a" (remove all filter rules). Either a single letter or an entire word starting with the appropriate letter maybe used. This option maybe before, or after, any other with the order on the command line being that used to execute options.

-F <s|S>
To flush entries from the state table, the -F option is used in conjuction with either "s" (removes state information about any non-fully established connections) or "S" (deletes the entire state table). Only one of the two options may be given. A fully established connection will show up in ipfstat -s output as 4/4, with deviations either way indicating it is not fully established any more.

-f <filename>
This option specifies which files ipf should use to get input from for modifying the packet filter rule lists.

Set the list to make changes to the inactive list.

-l <pass|block|nomatch>
Use of the -l flag toggles default logging of packets. Valid arguments to this option are pass, block and nomatch. When an option is set, any packet which exits filtering and matches the set category is logged. This is most useful for causing all packets which don't match any of the loaded rules to be logged.

This flag (no-change) prevents ipf from actually making any ioctl calls or doing anything which would alter the currently running kernel.

Force rules by default to be added/deleted to/from the output list, rather than the (default) input list.

Remove matching filter rules rather than add them to the internal lists

Swap the active filter list in use to be the "other" one.

(SOLARIS 2 ONLY) Block packets travelling along the data stream which aren't recognised as IP packets. They will be printed out on the console.

Turn verbose mode on. Displays information relating to rule processing.

Manually resync the in-kernel interface list maintained by IP Filter with the current interface status list.

For each rule in the input file, reset the statistics for it to zero and display the statistics prior to them being zero'd.

Zero global statistics held in the kernel for filtering only (this doesn't affect fragment or state statistics).



See also

mkfilters(ADMN), ipf(ADMP), ipl(ADMP), ipf(SFF), ipfstat(TC), ipmon(TC),


Needs to be run as root for the packet filtering lists to actually be affected inside the kernel.

Standards conformance

ipf is not part of any currently supported standard. It is an extension of AT&T UNIX System V provided by The Santa Cruz Operation, Inc. It includes software developed by the University of California, Berkeley and its contributors.
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003