python编写的一个简单的扫描端口是否开放的程序

2022-05-03 00:00:00 扫描 端口 编写

这段python代码可以帮你扫描目标主机的开放端口,代码要求输入一个ip地址以及要扫描的端口范围,输出为扫描端口是否开放。

"""
作者:皮蛋编程(https://www.pidancode.com)
创建日期:2022/3/26
功能描述:python编写的一个简单的扫描端口是否开放的程序
"""
import socket
def main():
    sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sk.settimeout(1000)
    ip = input('请输入目标主机:(默认:127.0.0.1)')
    if ip == '':
        ip = '127.0.0.1'
    s = input('请输入目标主机开始端口:(默认:80)')
    if s == '':
        startport = 80
    else:
        startport = int(s)
    s = input('请输入目标主机结束端口:(默认:80)')
    if s == '':
        endport = 80
    else:
        endport = int(s)
    for port in range(startport, endport + 1):
        print('正在扫描端口:%d' % port)
        try:
            sk.connect((ip, port))
            print('Server %s port %d OK!' % (ip, port))
        except Exception:
            print('Server %s port %d is not connected!' % (ip, port))
    sk.close()
if __name__ == '__main__':
    main()

输出结果:
请输入目标主机:(默认:127.0.0.1)172.16.0.1
请输入目标主机开始端口:(默认:80)80
请输入目标主机结束端口:(默认:80)
正在扫描端口:80
Server 172.16.0.1 port 80 OK!
以上代码在python3.9环境测试通过

相关文章