For several reasons, I need to either prevent my OS X machine from showing up as an OS X machine in TCP/IP fingerprinting, or make it show up as, say, a Linux machine. Is there an OS X program out there to do it, or a set of network settings I can use to accomplish this?
In brief, TCP fingerprinting works by looking at what network ports are open on a machine, and then sending several different TCP packets to the machine and then looks at the responses. All the different operating systems handle those packets slightly differently in terms of fields that are set (or not) in the TCP header, and between all that information you can usually put together a good guess about the remote system.
There's a few papers that talk about how to disguise the fingerprint (http://www.dtic.mil/dtic/tr/fulltext/u2/a439228.pdf and http://static.usenix.org/events/sec00/full_papers/smart/smart_html/index.html). It looks like the best ways to do this are to look at changing what network ports are open on your system, and also to change your network settings, and see what changes that makes to your system when you try to fingerprint scan it (nmap is a free download).