BSD Ports

net/queso 980922 OpenBSD

determine remote OS using simple tcp packets

System
OpenBSD
Repository
OpenBSD ports
Maintainer
The OpenBSD ports mailing-list <[email protected]>
Categories
net

Description

How we can determine the remote OS using simple TCP packets? Well, it's easy, they're packets that don't make any sense, so the RFCs don't clearly state what to answer in this case. Facing this ambiguity, each TCP/IP stack takes a different approach to the problem, and is why, we get a different response. In some cases (like Linux) programming mistakes make the OS detectable.

QueSO sends:

    0 SYN           \* THIS IS VALID, used to verify LISTEN
    1 SYN+ACK       
    2 FIN
    3 FIN+ACK
    4 SYN+FIN
    5 PSH
    6 SYN+XXX+YYY   \* XXX & YYY are unused TCP flags

All packets have a random seq_num and a 0x0 ack_num.

Install

Binary package:

pkg_add queso

From the ports tree:

cd /usr/ports/net/queso && make install

Dependencies

No port depends on this one.