2013年2月27日水曜日

[python]開放されているポートを調べる

以前RealFlowを使用したとき、レンダーノードに
接続できなかったため、ポートチェックのために
pythonを使用しました。
from socket import *
import sys
if len(sys.argv[1:]) == 2:
    ip = sys.argv[1]
    sport = int(sys.argv[2])
    eport = sport + 1
elif len(sys.argv[1:]) == 3:
    ip = sys.argv[1]
    sport = int(sys.argv[2])
    eport = int(sys.argv[3]) + 1
else:
    exit()
for port in range(sport, eport):
    try:
        s = socket(AF_INET, SOCK_STREAM,0)
        s.settimeout(1)
        s.connect((ip,port))
        print str(port) + ':OK'
        s.close()
    except error, msg:
        print str(port) + ':' + str(msg)
RealFlowのレンダーノードは2223から2226を使用するので
python portCheck.py 2223 2226
で使用します。

0 件のコメント:

コメントを投稿