---
name: "queso"
section: "8"
platform: "linux"
package: "queso"
version: "0.980922b-3"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/queso/8"
---

# queso(8)

Guess the operating system of a remote machine.

## NAME

**queso** – Guess the operating system of a remote machine.

## SYNOPSIS

**queso** \[**-vdw**\] \[**-p** *port*\] \[**-f** *srcIP*\] \[**-c** *file*\] \[**-t** *seconds*\] \[**-n** *times*\] \[**-z** *usec*\] *host.com\[/bits\]\[:port\]* ...

## DESCRIPTION

**queso** is a tool to discover which type of operating system is running on a remote host. It is based on the fact that different operating systems have slight differences in their TCP implementation. Sending a certain packet to such a host results in different responses, depending on the operating system.

To probe a host, run **queso** with the hostname or IP address of the target on the command line. By default, **queso** will probe port 80. To select another port, append a colon and the desired portnumber to the hostname. To probe multiple hosts in one go, specify each of them on the command line or specify the number of bits of the subnet that has to be probed.

## OPTIONS

- **-v**

  Shows version number and exits.

- **-d**

  Debug mode. Prints information about received packets.

- **-w**

  If an unknown operating system is detected, write the information of the received packets to */etc/queso.conf*. **queso** will recognize this operating system from now on. To give it a sensible name, you have to edit */etc/queso.conf*.

- **-p** *port*

  Select the default remote port. If not specified, the default is port 80.

- **-f** *srcIP*

  Override source IP on outgoing packets. Useful if you have multiple IP addresses on one interface.

- **-c** *file*

  Select an alternate config file. If not specified, information is read from */etc/queso.conf*.

- **-t** *seconds*

  Set reception timeout. If not specified, the default is 3 seconds.

- **-n** *times*

  Choose how many times packets are sent. Normally **queso** only tries to probe a host once.

- **-z** *usec*

  Select the interval between outgoing packets. The default is 100 microseconds. Enlarge this value to prevent flood. Especially useful when probing entire subnets.

## FILES

- */etc/queso.conf*

  Not strictly a configuration file, but a database used to match responses to operating systems.

## NOTES

Since **queso** uses a RAW socket to generate custom IP datagrams, you need to be root to be able to run this program.

## SEE ALSO

[queso.conf(5)](/queso.conf/5.md)

## AUTHOR

**queso** has been written by Jordi Murgó ⟨savage@apostols.org⟩.

This manual page was written by Guus Sliepen ⟨guus@sliepen.warande.net⟩ for the Debian GNU/Linux system.
