import socketimport concurrent.futuresimport timedef resolve_domain(domain):"""解析域名获取IP地址"""try:ip = socket.gethostbyname(domain)return ipexcept socket.gaierror:print(f"域名解析失败: {domain}")return Nonedef scan_port(ip, port, timeout=1.5):"""检测指定IP的单个端口状态"""try:with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:s.settimeout(timeout)result = s.connect_ex((ip, port))return port, result == 0# 返回端口号及状态(True=开放)except Exception as e:return port, Falsedef port_scanner(domain, ports, timeout=1.5, max_threads=100):"""执行端口扫描主函数"""# 域名解析ip = resolve_domain(domain)if not ip:returnprint(f"开始扫描 {domain} ({ip})")open_ports = []start_time = time.time()# 使用线程池并发扫描with concurrent.futures.ThreadPoolExecutor(max_workers=max_threads) as executor:futures = {executor.submit(scan_port, ip, port, timeout): port for port in ports}for future in concurrent.futures.as_completed(futures):port, is_open = future.result()if is_open:print(f"端口 {port} [开放]")open_ports.append(port)# 扫描结果摘要print(f"n扫描完成! 耗时: {time.time()-start_time:.2f}秒")print(f"开放端口总数: {len(open_ports)}")print("开放端口列表:", sorted(open_ports))if __name__ == "__main__":# 配置参数target_DOMAIN = "example.com"# 目标域名COMMON_PORTS = [21, 22, 23, 25, 53, 80, 110, 143, 443, 465, 587, 993, 995, 3306, 3389, 8080]# 常见端口列表TIMEOUT = 1# 连接超时(秒)THREADS = 200# 最大并发线程数# 执行扫描port_scanner(TARGET_DOMAIN, COMMON_PORTS, TIMEOUT, THREADS)
功能说明:
使用示例:
# 扫描百度的常见端口port_scanner("www.baidu.com", [80, 443, 8080, 8888])# 扫描自定义端口范围port_scanner("example.com", range(1, 1024))
注意事项:
请问怎么可以找出别人电脑的IP端口?
你好,局域网内可以用点开始菜单,选择运行,然后在弹出的对话框里输入cmd,再次输入ipconfig/all就可以了其他可以用工具扫描如scan sport或X scan还有很有名的灰鸽子
黑客扫描工具哪个好
哪个扫描软件都要留下日志的。
对方如果配有防火墙。
你的扫描软件和对方的防火墙通过扫描建立连接
防火墙上就会记录有XXIP试图连接本机上的XX端口。
这是不可避免的。
你可以加上代理扫描或者在肉鸡上扫描。
避免留下自己的真实IP。
软件的话。
想快速扫描就用的TCP扫描。
想精细扫描就用xscan
其实还有很多。比如superscan.
nmap等。 自己多用用。 就熟练了
ssport怎么用?
软件名称:SSPort高速端口扫描器
软件版本:1.0
软件大小:316KB
软件性质:免费软件
应用平台:Windows NT/2000/XP
下载地址:_extended=true>运行SSPORT客户端程序会弹出“扫描操作”界面,在右上方“IP段设置”标签处,输入218.009.096.000的数字IP,并且在后面的“结束”标签处,也同时输入218.009.157.255的数字IP,前后两者所组成的IP段,就是黑龙江网通用户所在的区域。操作完毕后,勾选下方“自定义端口”复选框,在开始和结束标签内,分别输入所要扫描的代理端口(图1),两个四位数的“8080”端口。接下来单击右上角“扫描”按钮,稍等片刻后,树状视图的结果区,就会出现IP段内,所有开放8080端口的主机IP,此时想将其数据保存下来,可以单击“保存”按钮,选择你想存入的盘符即可














发表评论