Installing sshdfilter for ipfw can be acheived by changing a few 
configuration options. This file describes all the differences
required for using ipfw instead of iptables, to install sshdfilter
you still need to read INSTALL.

1. Decide what range the dynamically added block rules will occupy. For 
example, the first tester of ipfw (on MacOSX) had a firewall that looked
like this:
$ ipfw show
02000       0          0 allow ip from any to any via lo*
02010       0          0 deny ip from 127.0.0.0/8 to any in
02020       0          0 deny ip from any to 127.0.0.0/8 in
02030       0          0 deny ip from 224.0.0.0/3 to any in
02040       0          0 deny tcp from any to 224.0.0.0/3 in
02050       0          0 allow tcp from any to any out
02060       0          0 allow tcp from any to any established
02070       0          0 allow tcp from any to any dst-port 548 in
02080       0          0 allow tcp from any to any dst-port 427 in
02090       0          0 allow tcp from any to any dst-port 443 in
02100       0          0 allow tcp from any to any dst-port 80 in
02110       0          0 allow tcp from any to any dst-port 427 in
02120       0          0 allow tcp from any to any dst-port 443 in
02130       0          0 allow tcp from any to any dst-port 1521 in
02140       0          0 allow tcp from any to any dst-port 3689 in
02150       0          0 allow tcp from any to any dst-port 80 in
02160       0          0 allow tcp from any to any dst-port 22 in
12190       0          0 deny log tcp from any to any
20000       0          0 deny log icmp from any to me in icmptypes 8
65535       0          0 allow ip from any to any

This was (probably) the firewall generated by the Mac 'sharing control panel'. 
It would best to leave this firewall as is and have sshdfilter work around 
it. Notice rule number 2160 accepts incoming ssh connections, so sshdfilter
block rules must appear before this.

Also notice the rules start at 2000, so we can start our rules at 1000. As this
early position will see all traffic, we can add skipto rules so the dynamic 
block rules are only checked against ssh traffic. Such as:
ipfw add 1000 skipto 2000 tcp from any to any not dst-port 22
ipfw add 1001 skipto 2000 not tcp from any to any

2. In /etc/sshdfilterrc, comment out firewalladd/firewalldel commands for iptables 
and uncomment the ipfw commands. Uncomment and set ipfwmin/ipfwmax to the 
appropriate range. Using the above ranges this would be:
ipfwmin=1002
ipfwmax=1999

Which is a lot of potential rules, more than I have ever seen when using a 
default USERPOLICY.

3. If you have a firewall helper program that needs sole access to your firewall, 
chances are it will disable itself when it sees the additions made by sshdfilter.
The script scripts/ipfw.save will save and flush all dynamic rules created by 
sshdfilter (to /etc/sshdfilter.ipfw), and scripts/ipfw.restore will read that
file and restore the block rules. This will let you use your helper. 

Beware, the scripts do not talk to sshdfilter, so there is a small chance that 
a new block rule will be added between running ipfw.save and ipfw.restore. This
will leave sshdfilter and the firewall in different states, and will lead to 
error messages when non-existant rules are removed.

You will need to edit scripts/ipfw.save to save the correct range of rules.

