<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
It seems Ubuntu is confused by the use of 7001 for the port. It does
appear in the 'reserved' ports lists as 'afs3-callback'<br>
<br>
<br>
Changing this to another unreserved value, 47001 for example, and its
fine. I guess windows is more sloppy on this front.<br>
<br>
Thanks for the advice, Marcin. Wireshark looks interesting too, I just
have to learn how to comprehend all the output now!<br>
<br>
<br>
<br>
Marcin Kasperski wrote:
<blockquote cite="mid:87r6itjgsg.fsf@cauchy.softax.local" type="cite">
  <blockquote type="cite">
    <pre wrap="">When I run System&gt;Network Tools&gt;Portscan on localhost, I can see port
7001 is open with a service called 'afs3-callback'.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
This is somewhat misleading and does not matter anything. Simply, you
have in your /etc/services the info that port 7001 is typically used
by afs3-callback (whatever it is). Similarly the same program will
say that you are using service 'www' if port 80 is open. This is
just popular convention applied by many programs - instead of showing
numerical port, show text assigned to this port in /etc/services.

To truly check what is running on given port, try sth like

   sudo netstat -l --tcp -p

(there surely is some GUI which does the same, but I am not expert in
GUIs, learned command lines before they existed ;-))

You will get the list of all processess listening on TCP ports. In
particular you may see lines like

tcp        0      0 *:4433                  *:*                     LISTEN     26164/apache

(this is from my host, on port 4433 there is some apache process
runing, pid of the process is 26164). To check in more detail what
process do you see, try sth like

   ps 26164

(giving the pid from the line above) and you will see the command
which spawned the process. Of course you can also search for this
pid in some GUI process monitor.


Some alternative way to check some ports is to ... telnet there.
For example

   telnet localhost 7001

You get direct connection to the other side. It may give you some info
(many daemons send some initial string), or ... not. But in particular
it will tell you whether there is any process on the other side (if
not, you get 'Connection refused' error). To leave such session press
Ctrl-] and enter 'quit' after 'telnet&gt;' prompt.

  </pre>
  <blockquote type="cite">
    <pre wrap="">The odd thing is, once I have run the Portscan, my client suddenly
sees the server and connects!
(...)

Why does Portscan seem to open the port for me?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
The only reasonable guess I can make is that your server misbehaves
somehow, for example incorrectly handles some initial connection(s).
Portscan opens connection to it and closes it, maybe it helps your
server.

Another guess is that maybe you just missed something. For example,
maybe your server works when accessed as localhost but does not work
when accesssed on yourmachinetrueinterface (or reverse)...

If you need to diagnose your network communication in more detail,
you may take a look at wireshark (formerly ethereal) package,
it lets you capture and review the whole network communication.


  </pre>
</blockquote>
</body>
</html>