title: express app server . listen all interfaces instead of localhost only
body: <p>I'm very new for this stuff, and trying to make some express app</p>
  
  <pre><code>var express = require('express');
  var app = express();
  
  app.listen(3000, function(err) {
      if(err){
         console.log(err);
         } else {
         console.log("listen:3000");
      }
  });
  
  //something useful
  app.get('*', function(req, res) {
    res.status(200).send('ok')
  });
  </code></pre>
  
  <p>When I start the server with the command: </p>
  
  <pre><code>node server.js 
  </code></pre>
  
  <p>everything goes fine.</p>
  
  <p>I see on the console</p>
  
  <pre><code>listen:3000
  </code></pre>
  
  <p>and when I try</p>
  
  <pre><code>curl http://localhost:3000
  </code></pre>
  
  <p>I see 'ok'. </p>
  
  <p>When I try </p>
  
  <pre><code>telnet localhost
  </code></pre>
  
  <p>I see</p>
  
  <pre><code>Trying 127.0.0.1...
  Connected to localhost.
  Escape character is '^]' 
  </code></pre>
  
  <p>but when I try </p>
  
  <pre><code>netstat -na | grep :3000
  </code></pre>
  
  <p>I see</p>
  
  <pre><code>tcp  0  0 0.0.0.0:3000   0.0.0.0:*  LISTEN
  </code></pre>
  
  <p>The question is: why does it listen all interfaces instead of only localhost?</p>
  
  <p>The OS is linux mint 17 without any whistles.</p>