#!/usr/bin/python

import socket
import sys

if ( len(sys.argv) != 2 ):
	print "Usage: " + sys.argv[0] + " you must enter IP or FQDN as argument"
	sys.exit(1)

remote_host = sys.argv[1]

ports = [(20,"FTP"),(21,"FTP"),(22,"SSh"),(23,"telnet"),(80,"HTTP"),(8000,"HTTP"),(109,"POP ver2"),(110,"POP ver3"),(443,"HTTPS"),(548,"AppleShare"),(4000,"ICQ")]

for (remote_port,description) in ports:
		sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
		sock.settimeout(20)
		try:
				sock.connect((remote_host, remote_port))
		except Exception,e:
				print "Port %d (%s) is closed" % (remote_port,description)
		else:
				print "Port %d (%s) is open" % (remote_port,description)
		sock.close()