本文实例讲述了Python实现的tcp端口检测操作。分享给大家供大家参考,具体如下:
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
33
34
|
# coding=utf-8
import sys
import socket
import re
def check_server(address, port):
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 as e:
print 'Connection to %s on port %s failed: %s' % (address, port, e)
return False
if __name__ = = '__main__' :
from argparse import ArgumentParser
parser = ArgumentParser(description = u 'TCP端口检测' )
parser.add_argument(
'-a' ,
'--address' ,
dest = 'address' ,
default = 'localhost' ,
help = 'address for the server' )
parser.add_argument(
'-p' ,
'--port' ,
dest = "port" ,
default = 80 ,
type = int ,
help = 'port for the server' )
args = parser.parse_args()
check = check_server(args.address, args.port)
print 'check_server returned %s' % check
sys.exit( not check)
|
测试结果:
[hupeng@hupeng-vm Python]$python check_server.py && echo "SUCCESS"
Attempting to connect to localhost on port 80
Connected to localhost on port 80
check_server returned True
SUCCESS
[hupeng@hupeng-vm Python]$python check_server.py -p 81 && echo "Failure"
Attempting to connect to localhost on port 81
Connection to localhost on port 81 failed: [Errno 111] Connection refused
check_server returned False
[hupeng@hupeng-vm Python]$python check_server.py -p 81 || echo "Failure"
Attempting to connect to localhost on port 81
Connection to localhost on port 81 failed: [Errno 111] Connection refused
check_server returned False
Failure
附:
shell中&&
和||
的使用方法
命令的返回结果:真(返回0),假(返回非0)
command1 && command2: command1返回真时,command2才会被执行
command1 || command2:command1返回真时,command2就不会被执行
希望本文所述对大家Python程序设计有所帮助。
原文链接:http://www.cnblogs.com/hupeng1234/p/6715237.html