Test connectivity for the web service

From LemonWiki共筆
Jump to navigation Jump to search

find the problem occurred: (1) local service at the server (localhost) (2) from LAN to server (3) from WAN to server


Connecting from the local machine to web service at the same server

WAN ○ -------> ○ LAN -------> ● server

How to connect to local web service

  If you has administrative permission to log into the server via SSH or Remote desktop service.

If the service is the web server:

  • (1) Open the browser, (2) Type the address: http://127.0.0.1
  • Linux command:
    1. (optional if lynx was not installed) yum install lynx for CentOS / sudo apt-get install lynx for Ubuntu[1]
    2. lynx http://127.0.0.1 [2] for Linux  

If the service is not the web server, use telnet instead

  1. telnet 127.0.0.1 <PORT> e.g. telnet 127.0.0.1 80
  2. (after telnet-ed the web 80 port, key in) get + SPACE
  3. more on HTTP Check Port 80 with the Telnet Command


Check if your computer/server Is being assigned the IP Address

  • Linux   : (1) Check the IP Address. ifconfig. (2) Re-assign the IP Address and restart the networking service. service network restart for CentOS[3]
  • Win   : Check the IP Address. ifconfig/all
  • More on Network problem

Is the service alive or the port was occupied by other process?

Check the port if used by other protocol

Find process running on port

  • Linux  
    • nmap "Network exploration tool and security / port scanner." e.g. nmap -p 80,443 ip
    • ss "utility to investigate sockets" e.g. ss -tnlp | grep 80 or using OR operator[4] ss -tnlp | grep '80\|443'
    • ps List the current processes. Input ps -aux | grep "PORT_NUMBER" e.g. ps -aux | grep 443
    • netstat Command netstat -tulpn | grep LISTEN e.g.
  • Win   Using the software CurrPorts to check the process and port. e.g. Apache will not running if the 80 port was occupied by skype[5].
$ netstat -tulpn | grep LISTEN

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      - 

// means the 80 port service is running

Is the port opened for external users?

Check the OS firewall or protected by antivirus software

    • Linux  
      • iptables: (1) iptables -L to list all rules[6] (2) rule with smaller line-number will override the rule with larger line-number[7]
      • FirewallD rules: (1) sudo firewall-cmd --get-default-zone return 'public' (2) sudo firewall-cmd --list-all --zone=public[8] (3) Allow port with FirewallD
      • SELinux Policy Management: (1) After installed policycoreutils-python[9], input semanage port -l to list open ports. (2) Allow port with semanage.
    • Win   Windows Firewall with Advanced Security -> configure firewall rules
    • protected by antivirus software?
  • connect to localhost ex: telnet 127.0.0.1 23 where 23 is the port number where the service running
  • double check the server/service logs

Connecting from LAN to the server

WAN ○ -------> ● LAN -------> ● server

Testing on LAN (local network, subnet scope): The different servers between LAN or with the same ip class (ex: 1.2.3.*) may not have the firewall limit.

  • Is the service alive?
  • Connect to the internal IP eg: telnet 172.18.0.1 23 (1) IP start with 172.18... is Private IP Network Numbers (2) where 23 is the port number where the service running
  • If the local service is web server, you can also try to connect the internal IP e.g. lynx http://172.18.0.1 for Linux  
  • Double check the server/service logs
  • Is the internal IP correct?

Connecting from WAN to the server

WAN ● -------> ● LAN -------> ● server

How to connect to remote web service

Open the browser from outside network ex: Wide Area Network (WAN) or Local Area Network (LAN)

  • and type the address: http://the.domain Icon_exclaim.gif Note: Not Private network / Private IP address
  • or use the remote website monitoring services: Web Ping

Using alternative web services if the Python was installed

  • (for python 2.x) python -m SimpleHTTPServer <port>[10]
  • (for python 3.x) python -m http.server <port>[11]

Using telnet client

curl

  • curl -v -o /dev/null http://IP:Port If failed. It will show the message: "failed: Connection refused"

other issues

We met the trouble on WAN (wide area network). If we do no have the administrative permission, the tests we can do as follows:

other issue:

Tools

  1. Good.gif CurrPorts: Monitoring TCP/IP network connections on Windows
  2. PFPortCheck Program: check TCP/UDP port from localhost(where you installed the program) to portforward.com
  3. TCPView for Windows
  4. Check server: Check host - online website monitoring, Check IP "checks the possibility of a TCP connection to host's specified port from different locations around the world." quoted from website. [Last visited: 2015-08-02]

References