I have used nmap to map a network, scanning using the following command
nmap -v -sS --no-stylesheet -T3 -sU -sV -O -oX <filename.xml> 192.168.69.0/24
Some of the hosts come back with a strange result. Nmap reckons they are up due to syn-ack. I assumed this meant that a tcp connection was made to a certain port and the 3-way handshake process was completed. However, there are no ports listed as open. (there are however open|filtered, filtered and closed ports). Can anyone explain how I should interpret this? Does negotiating a tcp connection to a host not mean that there must be at least one port open?
The XML output for that host from the scan is below:
<host starttime="1435615239" endtime="1435901758">
<status state="up" reason="syn-ack" reason_ttl="115"/>
<address addr="192.168.69.23" addrtype="ipv4"/>
<hostnames>
<hostname name="example.com" type="PTR"/>
</hostnames>
<ports>
<extraports state="open|filtered" count="1000">
<extrareasons reason="no-responses" count="1000"/>
</extraports>
<extraports state="filtered" count="996">
<extrareasons reason="no-responses" count="996"/>
</extraports>
<port protocol="tcp" portid="111">
<state state="closed" reason="reset" reason_ttl="115"/>
<service name="rpcbind" method="table" conf="3"/>
</port>
<!-- more closed ports -->
</ports>
<os><!-- ... --></os>
<times srtt="3165" rttvar="109" to="100000"/>
</host>