Python利用tkinter和socket实现端口扫描

2022-12-05 60阅读 0评论

?=题目

请设计并实现一款主机端口扫描程序。程序根据用户输入域名ip地址,可以查询该主机的开放的端口号。 例如:

Python利用tkinter和socket实现端口扫描

Python利用tkinter和socket实现端口扫描

并有一定的异常处理

参考code

import tkinter from Tkinter import * import socket import tkinter.messagebox   class CheckPort: def __init__(self): window = Tk() window.title("端口扫描") window.geometry("600x500") frame1 = Frame(window) frame1.pack() Label(frame1, text="IP地址、域名:", bg="#f0f0f0").Grid(row=0, column=1, pady=3) Label(frame1, text="起始端口(最小为1):", bg="#f0f0f0").grID(row=1, column=1, pady=3) Label(frame1, text="结束端口(最大为65535):", bg="#f0f0f0").grid(row=2, column=1, pady=3) self.searchText = stringVar() Entry(frame1, textvariable=self.searchText, justify=LEFT).grid(row=0, column=2) self.originPort = IntVar() Entry(frame1, textvariable=self.originPort, justify=LEFT).grid(row=1, column=2) self.endPort = IntVar() Entry(frame1, textvariable=self.endPort, justify=LEFT).grid(row=2, column=2) Button(frame1, text="扫描", command=self.GetRes).grid(row=3, column=1, columnspan=2, pady=3) frame2 = Frame(window).pack() self.resText = Text(frame2, height=50, width=500, wrap=Word) self.resText.pack()  window.mainloop()  def getRes(self): try: ip = socket.gethostbyname(self.searchText.get()) str1 = "" if 1 <= self.originPort.get() <= self.endPort.get() <= 65535: for port in range(self.originPort.get(), self.endPort.get() + 1): try: socket.setdefaulttimeout(1) client = socket.socket() client.connect((ip, port)) client.shuTDown(1) str1 += f"{ip}:{port}已开放\n" except ExceptiON as e: str1 += f"{ip}:{port}未开放\n" pass str1 += f"扫描完成\n" self.resText.insert(END, str1) else: self.errorHandle("请输入正确的端口号!")  except: self.errorHandle("请输入正确的域名或者ip地址!")  def errorHandle(self, message): tkinter.messagebox.showerror(, message=message)   CheckPort() 

到此这篇关于Python利用tkinter和socket实现端口扫描的文章就介绍到这了,更多相关python端口扫描内容请搜索云初冀北以前的文章或继续浏览下面的相关文章希望大家以后多多支持云初冀北!

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

发表评论

表情:
评论列表 (暂无评论,60人围观)

还没有评论,来说两句吧...