Welcome, guest | Sign In | My Account | Store | Cart

a simple TCP Port Checker using socket !

Python, 32 lines
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import socket
import re
import sys
def check_server(address, port):
	# Create a TCP socket
	s = socket.socket()
	print "Attempting to connect to %s on port %s" % (address, port)
	try:
		s.connect((address, port))
		print "Connected to %s on port %s" % (address, port)
		return True
	except socket.error, e:
		print "Connection to %s on port %s failed: %s" % (address, port, e)
		return False

if __name__ == '__main__':
	from optparse import OptionParser
	parser = OptionParser()
	
	parser.add_option("-a", "--address", dest="address", default='localhost', help="ADDRESS for server", metavar="ADDRESS")
	
	parser.add_option("-p", "--port", dest="port", type="int", default=80, help="PORT for server", metavar="PORT")
	
	(options, args) = parser.parse_args()
	print 'options: %s, args: %s' % (options, args)
	check = check_server(options.address, options.port)
	print 'check_server returned %s' % check
	
	sys.exit(not check)

$ python port_checker_tcp.py -a 192.168.1.15 -p 80

$ python port_checker_tcp.py -a 192.168.1.15 -p 80 && echo "SUCCESS"

$ python port_checker_tcp.py -a 192.168.1.15 -p 81 && echo "FAILURE"

1 comment

Andrii Soldatenko 10 years, 8 months ago  # | flag

Why are you requiring RE module?