注册 登录
编程论坛 Python论坛

python怎么检测端口是否被占用?

pythondebug 发布于 2009-12-24 23:15, 5143 次点击
有个需求就是检测69端口是否被占用?然后给出提示,怎么给出window的系统提示?
3 回复
#2
lampeter1232009-12-26 08:23
import socket

ports = []
for i in [139,445,80,135,137,1433,3389,8080,9015,137,21,23,25,1502]:   #这里可写你要检测的常用端口列表
    sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sk.settimeout(1)
    try:
        sk.connect(('*.*.*.*',i))  #'*.*.*.*'写上你要接入的IP地址
    except Exception:
        print i, len(ports)
        continue
    sk.close()
#    sk.__init__()
   
    ports.append(i)
    print i, len(ports), '*'
    i += 1
print ports


[ 本帖最后由 lampeter123 于 2009-12-26 08:32 编辑 ]
#3
pythondebug2009-12-27 22:24
sockobj = socket (AF_INET, SOCK_DGRAM)
try:
    sockobj.bind(('1.1.1.1',69))
except Exception:
    print '69端口被占用了'

我是这样做的,但是怎么利用python调用window的提示框,还是不明白?还有suse?怎么给出提示?
呵呵!学习摸索中!
#4
lampeter1232009-12-28 09:09
网上搜索pywin32的应用:

最简单的MessageBox函数
import win32api, win32gui
import win32con, winerror,win32event,pywintypes
import sys, os,time
win32api.MessageBox(0,'hello', 'WYM',win32con.MB_OK)


[ 本帖最后由 lampeter123 于 2009-12-28 09:10 编辑 ]
1