异常处理与函数

异常处理

try/except用于处理异常,在正在运行的程序或脚本的上下文环境中处理错误。

try:
	print("[+] 1337/0 ="+str(1337/0))
except:
	print("[-] Error.")	

可以将异常的报错消息储存到变量e中,以便方便其打印出来,同时需要显示式的将变量e转换成一个字符串。

try:
    print("[+] 1337/1 = "+str(1337/0))
except Exception as e:
    print("[-] Error="+str(e))

在这里插入图片描述

函数

在python中,函数提供了高效的可重用的代码块。通常,这使得程序员能够编写一个用以完成一个任务单一、(与程序的其他部分)高度耦合的操作的代码块。关键字def()表示函数开始。
小脚本用于探测目标主机FTP服务。

import socket
def retBanner(ip,port):
    try:
        socket.setdefaulttimeout(2)
        s = socket.socket()
        s.connect((ip,port))
        banner = str(s.recv(1024))
        return str(banner)
    except Exception as e:
        print ("[-]Error="+str(e))
def main():
    ip1 = '127.168.0.177'
    ip2 = '192.168.0.219'
    port = 21
    banner1 = retBanner(ip1,port)
    if banner1:
        print('[+]' + ip1 + ':' + banner1)
    banner2 = retBanner(ip2,port)
    if banner2:
        print('[+]' + ip2 + ':' + banner2)
if __name__ == '__main__':
        main()

在这里插入图片描述
对输出banner值进行检查。

import socket
def retBanner(ip,port):
    try:
        socket.setdefaulttimeout(2)
        s = socket.socket()
        s.connect((ip,port))
        banner = str(s.recv(1024))
        return str(banner)
    except Exception as e:
        print ("[-]Error="+str(e))
def checkVulns(banner):
    if "FTP" in banner:
        print("[+]The target FTP OPEN")
    else:
        print("[-]The target is not vulnerable")   
def main():
    ip1 = '127.168.0.177'
    ip2 = '192.168.0.219'
    port = 21
    banner1 = retBanner(ip1,port)		#在主函数中调用自定义函数retbanner
    if banner1:
        print('[+]' + ip1 + ':' + banner1)
        checkVulns(banner1)			 #在主函数中调用定义的函数checkvulns
    banner2 = retBanner(ip2,port)
    if banner2:
        print('[+]' + ip2 + ':' + banner2)
        checkVulns(banner2)              #在主函数中调用定义的函数checkvulns
if __name__ == '__main__':
        main()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值