




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络渗透编程Networkpenetrationprogramming全套可编辑PPT课件
课程概况编程网络攻防技术网络渗透编程本课件是可编辑的正常PPT课件课程概况网络渗透测试网络渗透测试技术自己编写渗透测试软件Python程序设计语言工具软件无工具软件本课件是可编辑的正常PPT课件课程概况Python语言具有非常丰富强大的第三方库语法简单适合在渗透测试领域编写工具软件使用Python本课件是可编辑的正常PPT课件课程概况一些功能或操作的简单描述短小精悍软件解释执行Python脚本本课件是可编辑的正常PPT课件学习目标知识目标掌握利用Python语言编写信息收集、信息加密、口令破解、流量分析、漏洞检测等渗透测试脚本的方法能力目标综合运用所学的知识进行快速自动化渗透测试,以进一步提高信息安全防护的能力素质目标能够提升自己的信息安全意识、团队合作能力、专业技术交流表达能力、获取新知识的能力以及遵纪守法的职业道德本课件是可编辑的正常PPT课件前导课程《Python程序设计》掌握python基本语法,有助于更好地编写自己的脚本本课件是可编辑的正常PPT课件前导课程《网络攻防技术》网络攻防原理是学习本课程的理论基础本课件是可编辑的正常PPT课件定义渗透测试出于保护系统的目的,模拟黑客入侵的行为,对目标系统进行的一系列测试,从而寻找系统中存在的漏洞。前导课程明确目标信息搜集威胁建模漏洞分析漏洞利用后渗透攻击报告形成基本流程本课件是可编辑的正常PPT课件课堂导入渗透测试团队1、明确目标渗透测试目标范围限度需求渗透测试方案(全面、详细)确定制定本课件是可编辑的正常PPT课件课堂导入渗透测试团队利用各种方法,获取更多关于目标网络的相关信息2、信息搜集搜集方法被动扫描通过间接的方式,如通过whois查询或搜索引擎等搜集主动扫描通过专业的扫描工具对目标进行扫描本课件是可编辑的正常PPT课件3、威胁建模——制定战争的策略课堂导入对客户资产进行评估,可找出其中重要的资产分析哪些群体可能对目标发起攻击,可以更好地帮助确定渗透测试时所使用的技术和工具3、威胁建模资产攻击者本课件是可编辑的正常PPT课件课堂导入4、漏洞分析操作系统开放端口服务程序信息搜集时发现目标查找分析目标系统中可能存在的漏洞本课件是可编辑的正常PPT课件课堂导入主要目标:绕过目标的安全机制来控制目标系统或访问目标资源,以获取之前评估的重要资产测试目标系统漏洞漏洞渗透程序漏洞漏洞5、漏洞利用本课件是可编辑的正常PPT课件课堂导入测试目标系统漏洞漏洞渗透程序漏洞漏洞5、漏洞利用比较高级的控制权其他重要信息建立长期的控制通道利用目标作为跳板进而攻击内网中的其他主机6、后渗透攻击能否获得意外收获本课件是可编辑的正常PPT课件课堂导入书面形式目标系统所面临的重要威胁安全漏洞目标系统存在问题的修复方案当前安全机制的改进建议7、报告生成本课件是可编辑的正常PPT课件明确目标信息搜集威胁建模漏洞分析漏洞利用后渗透攻击报告形成学习内容本课件是可编辑的正常PPT课件学习内容网络渗透编程本课件是可编辑的正常PPT课件学习内容网络渗透编程本课件是可编辑的正常PPT课件学习内容网络渗透编程本课件是可编辑的正常PPT课件学习方法复习两门前导课程,掌握网络攻击的基本原理和编写程序的基本方法了解Python相关库中函数的使用方法程序的简洁高效本课件是可编辑的正常PPT课件Python基本语法Pythonbasicsyntaxpython的运行环境官方开发运行环境第三方集成开发环境Python的运行环境特点IDLE(IntegratedDevelopmentandLearningEnvironment)集成开发和学习环境官方运行环境简单易用,适合初学者交互式界面,所见即所得包含的编辑器,简洁易上手本课件是可编辑的正常PPT课件本课件是可编辑的正常PPT课件Python的运行环境第三方的集成开发环境特点集成度高比较适合开发大型的项目智能语法提示本课件是可编辑的正常PPT课件python程序的特点python程序的特点python语句的特点一般情况下,每行一条语句,不需要用“;”结尾,也可以每行多条语句,语句之间用“;”分隔本课件是可编辑的正常PPT课件python程序的特点python语句的特点
语句的缩进非常重要,同一子部分的语句缩进要相同本课件是可编辑的正常PPT课件python程序的特点python语句的特点
单行注释:#多行注释三个单引号(''')三个双引号(""")本课件是可编辑的正常PPT课件python的控制结构一句跟着一句执行顺序结构通过条件判断,最终选择出所需要的结果选择结构通过重复有规律性的操作,从而减少代码量,使代码表达更为简洁循环结构python的控制结构本课件是可编辑的正常PPT课件python的控制结构选择结构应用案例用户输入自己的成绩,如果成绩小于0或大于100,提示输入错误;
如果成绩大于等于60小于80,输出“还不错”;如果成绩大于80小于等于100,输出“非常棒!”本课件是可编辑的正常PPT课件输入成绩SS<0orS>100输入错误YESNOS<=60继续努力S<=80还不错非常棒YESNOYESNOpython的控制结构本课件是可编辑的正常PPT课件python的控制结构Python的选择结构单分支选择结构双分支选择结构多分支选择结构本课件是可编辑的正常PPT课件python的控制结构还可选择怎样的分支结构?思考本课件是可编辑的正常PPT课件python的控制结构循环结构应用案例用户输入若干成绩,求所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩,回答‘n’就停止输入成绩。本课件是可编辑的正常PPT课件python中主要有两种循环形式while循环结构for循环结构python的控制结构while循环结构for循环结构循环次数难以提前确定循环次数可以提前确定循环结构本课件是可编辑的正常PPT课件强制退出循环python的控制结构强制退出循环break:一旦break语句被执行,将使得break语句所属层次的循环提前结束。continue:作用是提前结束本次循环,并忽略continue之后的所有语句,直接回到循环的顶端,提前进入下一次循环。本课件是可编辑的正常PPT课件python的循环中还可以带有else子句python的控制结构else:循环因为条件表达式不成立或序列遍历结束而自然结束执行else结构中的语句不执行else中的语句循环因为执行了break语句而导致提前结束循环正常结束执行循环非正常结束不执行本课件是可编辑的正常PPT课件python的控制结构while循环for循环本课件是可编辑的正常PPT课件异常处理Exceptionhandling课堂导入引发错误的原因:程序中的异常:程序运行时引发的错误如零作为除数文件不存在下标越界网络异常这些错误得不到正确的处理将会导致程序崩溃并终止运行本课件是可编辑的正常PPT课件课堂导入异常处理合理使用异常处理结构程序更加健壮,具有更高的容错性不会因为用户不小心的错误而造成程序崩溃为用户提供更加友好的提示界面程序执行过程中出错而在正常控制流之外采取的行为本课件是可编辑的正常PPT课件教学目标掌握实现异常处理的语法。掌握异常处理的逻辑概念及含义。知识目标能力目标学会用Python内置的多种异常类,定义自己的异常类。运用Python多种不同形式的异常处理结构,处理可能发生的错误。本课件是可编辑的正常PPT课件异常处理的基本概念无法运行易发现解决可以运行错误结果语法错误拼写错误缩进不一致引号或括号不闭合逻辑错误异常处理的基本概念运行时由于某些条件不符合而引发的错误,一旦引发异常并且没有得到有效的处理,一般是直接导致程序崩溃。异常错误输入:60主程序处理输出:优秀!本课件是可编辑的正常PPT课件Python内置的异常类Python内置的异常类BaseException为所有异常的基类SystemExitKeyboardInterruptGeneratorExitException用户直接拿来使用继承这些类定义自己的异常类本课件是可编辑的正常PPT课件Python内置的异常类Exception为所有非系统退出类异常的基类,Python提倡继承Exception或其子类派生新的异常。本课件是可编辑的正常PPT课件Python内置的异常类Exception下包含异常MemoryError(内存溢出)BlockingIOError(IO异常)SyntaxError(语法错误异常)本课件是可编辑的正常PPT课件异常处理结构举例异常处理结构举例在python中提供了多种不同形式的异常处理结构基本思路尝试运行代码处理可能发生的错误在实际使用时,可以根据需要来选择使用哪一种本课件是可编辑的正常PPT课件异常处理结构举例——python异常处理结构中最基本的结构try...except...程序的执行流程执行try子句(在try和except关键字之间的部分)没有异常发生except子句在try语句执行完毕后就被忽略本课件是可编辑的正常PPT课件异常处理结构举例如果异常匹配于except关键字后面指定的异常类型就执行对应的except子句,然后继续执行异常处理结构之后的代码try...except...如果在try子句执行
过程中发生了异常该子句其余的部分就会被忽略本课件是可编辑的正常PPT课件异常处理结构举例异常匹配于except关键字后面指定的异常类型,就执行对应的except子句,然后继续执行异常处理结构之后的代码try...except...在try子句执行过程中发生了异常该子句其余的部分就会被忽略本课件是可编辑的正常PPT课件异常处理结构举例最终仍找不到对应的处理语句,它就成为一个未处理异常,终止程序运行,显示提示信息try...except...发生了一个异常在except子句中没有与之匹配的分支,它就会传递到上一级try语句中本课件是可编辑的正常PPT课件异常处理结构举例try...except...else...else代表try子句中的代码没有引发异常,则继续执行这里引发异常,这部分就不执行本课件是可编辑的正常PPT课件异常处理结构举例else内的“执行完毕”就可以显示出来当程序出现异常后,就没有显示通过输出结果看到当程序无异常时本课件是可编辑的正常PPT课件异常处理结构举例try...except...finally...从功能上来说,有没有finally子句,在try...except...结构执行完后,都会继续执行后面的语句,使用finally子句将使程序结构更加清晰。finally中的代码常用来做一些清理工作以释放try子句中申请的资源。本课件是可编辑的正常PPT课件异常处理结构举例为了减少代码量,python允许把多个异常类型放到一个元组中,然后使用一个except子句同时捕捉多种异常,并共用同一段异常处理代码。本课件是可编辑的正常PPT课件总结对异常和错误的正确理解Python如何进行异常处理重点:异常处理本课件是可编辑的正常PPT课件课堂导入渗透测试工作编写渗透测试工具软件编写渗透测试工具软件本课件是可编辑的正常PPT课件Socket网络编程SocketnetworkprogrammingSocket的概念Socket的概念定义计算机之间基于TCP/IP协议进行网络通信的一套程序接口(套接字),最初由加利福尼亚大学伯克利分校研发,目前已经成为网络编程的标准,可以实现跨平台的数据传输。本课件是可编辑的正常PPT课件表示层应用层传输层会话层数据链路层网络层物理层10100001111000110011000(比特流)AH数据数据PH数据SH数据TH数据NH数据DHDH表示层应用层传输层会话层数据链路层网络层物理层数据发送进程接收进程Socket的概念本课件是可编辑的正常PPT课件Socket的概念通信协议SocketSocket复杂
调用协议栈中的协议进行通信方便统一的接口(Socket接口)去调用本课件是可编辑的正常PPT课件Socket的概念Socket套接字:应用层与TCP/IP协议簇通信的中间软件抽象层是一组接口把复杂的TCP/IP协议簇隐藏在Socket接口后面本课件是可编辑的正常PPT课件Socket的概念Socket接口网络通信组织数据调用符合指定的协议本课件是可编辑的正常PPT课件基于TCP的Socket通信模型基于UDP的Socket通信模型bind()listen()accept()recv()send()close()Socket()connect()send()recv()close()创建Socket接口监听客户端的连接绑定IP和端口接受客户端的连接接收客户端的数据向客户端发送数据关闭Socket接口向服务端请求连接向服务端发送数据接收服务端的数据关闭Socket接口Socket()创建Socket接口服务端客户端基于TCP的Socket通信模型本课件是可编辑的正常PPT课件Python中如何调用Socket套接字socket基于TCP的Socket网络编程socket.SOCK_STREAM:使用TCP协议创建Socket对象服务端用到的Socket模块方法socket.AF_INET:使用IPv4协议(socket.AF_INET6:使用IPv6协议)server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)server:返回一个Socket对象本课件是可编辑的正常PPT课件基于TCP的Socket网络编程bind_port:绑定的端口号绑定IP地址和端口号服务端用到的Socket模块方法bind_ip:绑定的IP地址server.bind((bind_ip,bind_port))这两个参数以一个元组的形式出现server.listen(client_num)绑定IP地址和端口号client_num:能够接收的客户端连接数本课件是可编辑的正常PPT课件基于TCP的Socket网络编程conn:一个新的socket对象,用来接收和发送数据接受客户端的连接请求服务端用到的Socket模块方法conn,addr=server.accept()addr:客户端的IP地址和端口号本课件是可编辑的正常PPT课件基于TCP的Socket网络编程接收到的数据data是bytes类型,需要使用data.decode()转换成字符串才能正常读取接收数据服务端用到的Socket模块方法bufsize:一次能够接收的数据块大小data=conn.recv(bufsize)本课件是可编辑的正常PPT课件基于TCP的Socket网络编程发送数据服务端用到的Socket模块方法返回值是发送字节的数量,可能未全部发送指定的内容conn.send(data)conn.sendall(data)尝试发送所有数据,成功返回None,失败抛出异常注意:发送数据data需要是bytes类型,因此如果原始数据是string类型,需要使用data.encode()转换成bytes类型才能正确发送要发送的信息本课件是可编辑的正常PPT课件关闭连接服务端用到的Socket模块方法关闭此发送接收数据的接口conn.close()server.close()关闭此次连接接口基于TCP的Socket网络编程本课件是可编辑的正常PPT课件基于TCP的Socket网络编程target_port:服务端口号客户端用到的Socket模块中的socket、send、recv方法与服务端相同。不同的是连接服务端connect方法target_ip:服务器的IP地址client.connect((target_ip,target_port))这两个参数以一个元组的形式给出Socket模块SocketSendrecv本课件是可编辑的正常PPT课件Socket()bind()listen()accept()recv()send()close()Socket()connect()send()recv()close()创建Socket接口监听客户端的连接绑定IP和端口接受客户端的连接显示客户端的地址信息显示客户端发送的信息关闭Socket接口提示用户输入信息向服务端发送信息接收服务端的信息关闭Socket接口Ok,Ihavereceivedprint(addr)print(data)接收客户端的信息向客户端发送信息print()input()创建Socket接口向服务器请求连接显示服务端的信息Hello,server!服务端Socket网络编程实例客户端本课件是可编辑的正常PPT课件多线程Multithreading课堂导入进程是程序的一次执行过程,是系统进行资源分配和调度的独立单位电脑中有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的本课件是可编辑的正常PPT课件课堂导入要想使进程中的代码真正运行起来,必须拥有至少一个能够在这个环境中运行代码的执行单元进程是“懒惰”的,本身并不是可执行单元,从来不执行任何任务线程本课件是可编辑的正常PPT课件课堂导入进程的一部分进程的实际运作单位操作系统中最小运算调度单位本课件是可编辑的正常PPT课件课程目标掌握多线程的核心概念及含义实现多线程的模块和方法知识目标学会运用多线程的逻辑思维解决问题使用标准库threading创建和管理线程对象能力目标本课件是可编辑的正常PPT课件多线程的基本概念多线程的基本概念进程主线程线程1线程2线程3线程4本课件是可编辑的正常PPT课件标准库threading是python支持多线程编程的重要模块多线程的创建和管理多线程的创建和管理继续Thread类并在派生类中重写__init__()和run()方法两种方式创建线程标准库threading创建了线程对象以后,可以调用其start()方法来启动,该方法自动调用该类对象的run()方法,此时该线程处于alive状态,直到线程的run()方法结束运行直接使用Thread类实例化一个线程对象并传递一个可调用对象作为参数本课件是可编辑的正常PPT课件多线程的创建和管理Threading主要对象成员函数和变量__init__(self,group=None,target=None,name=None,args=(),kwargs=None,verbose=None)该线程要调用的函数本课件是可编辑的正常PPT课件多线程的创建和管理Threading主要对象成员函数和变量__init__(self,group=None,target=None,name=None,args=(),kwargs=None,verbose=None)该线程的名字如果不指定默认为“Thread-N”(N为一个十进制数)本课件是可编辑的正常PPT课件多线程的创建和管理Threading主要对象成员函数和变量__init__(self,group=None,target=None,name=None,args=(),kwargs=None,verbose=None)Target(调用函数)的参数形式为元组本课件是可编辑的正常PPT课件多线程的创建和管理Threading主要对象成员函数和变量__init__(self,group=None,target=None,name=None,args=(),kwargs=None,verbose=None)以字典形式向target传入参数参数名为字典的key参数值为key对应的value本课件是可编辑的正常PPT课件多线程的实际应用多线程的应用举例一个线程对象并传递一个可调用对象作为参数运行结果方法一直接使用Thread类实例化两个线程一个进程中的线程是并发执行的,两个线程交替输出本课件是可编辑的正常PPT课件多线程的应用举例添加join方法,强制要求等待t1执行结束或者等待5秒(按照先出现的情况)再执行下面的句子运行结果改进本课件是可编辑的正常PPT课件多线程的应用举例在派生类中重写__init__()和run()方法运行结果方法二继续Thread类本课件是可编辑的正常PPT课件课程总结多线程的创建使程序的响应速度更快,因为用户界面可以在进行其它工作的同时一直处于活动状态当前没有进行处理的任务时可以将处理器时间让给其它任务多线程Multithreading进程和线程的关系线程的基础概念标准库的创建方法直接创建线程继承派生线程本课件是可编辑的正常PPT课件课堂导入各种信息收集脚本的编写方法信息收集工具自己编写脚本渗透测试信息收集目标主机本课件是可编辑的正常PPT课件知识目标DNS解析的基本方法和操作基于ICMP的主机发现,实现目标主机的信息搜集被动搜集和主动搜集的基本概念掌握信息搜集目标主机的基本概念本课件是可编辑的正常PPT课件信息搜集概述主动搜集信息搜集概述被动搜集信息搜集DNSICMP本课件是可编辑的正常PPT课件被动搜集:DNS被动搜集:DNSDNS解析通过目标网站的域名注册人信息注册时间IP地址IP查询whois查询本课件是可编辑的正常PPT课件IP查询被动搜集:DNS例2-1通过Socket库函数中的gethostbyname()获取域名所对应的IP地址。通过当前所获取到的URL去查询对应IP地址的过程查询所对应IP地址的过程本课件是可编辑的正常PPT课件Whois查询被动搜集:DNS用来查询域名的所有者信息的传输协议Whois一个数据库域名是否已经被注册注册域名的详细信息域名所有人域名注册商本课件是可编辑的正常PPT课件Whois查询被动搜集:DNSpython-whois是一个第三方模块,需要额外安装。python中的模块python-whois可用于whois查询查询的注册信息例2-2本课件是可编辑的正常PPT课件主动搜集:ICMP获得信息传递消息主机AICMP(InternetControlMessageProtocol,Internet)报文协议位于TCP/IP协议簇中的网络层的协议,其目的是用于在IP主机、路由器之间传递控制消息。基于ICMP的主机发现通过与主机进行直接交互,主动获得信息。主动搜集:ICMP本课件是可编辑的正常PPT课件主动搜集:ICMPEchoRequestREchoReply服务器A.1.2RRTA.1.2RTB/24/24差错通知当IP数据包在对方计算机处理过程中出现未知的发送错误时,ICMP会向发送者传送错误事实以及错误原因等信息。ICMP工作流程本课件是可编辑的正常PPT课件主动搜集:ICMP信息查询向目标发送一个请求数据包,如果收到了来自目标的回应,就可以判断目标是活跃的主机,否则可以判断目标是非活跃主机。发送端主机路由器1路由器2路由器4路由器5接受端主机①ICMP回送请求②ICMP回送响应ICMP工作流程本课件是可编辑的正常PPT课件主动搜集:ICMP常见的Ping命令来测试本地与目标之间的连通性目标主机Ping命令发送ICMP请求应答响应ICMP主机探测过程自己编写符合要求的脚本实现目标主机活跃性探测本课件是可编辑的正常PPT课件使用scapy模块实现Scapy是python中的一个第三方库,在Scapy库中已经实现了大量的网络协议,如TCP、UDP、IP、ARP等,使用Scapy可以灵活编写各种网络工具;ICMP主机探测过程scapy库支持几乎所有主流的网络协议,因此,用户可以根据需要先构造自己的协议数据包;构造方式为:协议名称缩写(参数),参数为协议中的各字段。主动搜集:ICMP本课件是可编辑的正常PPT课件主动搜集:ICMP在pythonIDLE中使用交互命令查看各个参数的详细信息构造好的数据包合成数据发送数据并接收返回结果本课件是可编辑的正常PPT课件主动搜集:ICMP构造一个ICMP数据包测试目标主机是否在线(3-1)交互方式,可自行输入被测试的主机的IP地址使用Scapy库创建数据包、发送数据包返回应答数据,输出相应的检测结果通过输出结果发现被访问主机在线运行结果本课件是可编辑的正常PPT课件检测:一整个网段的主机是否在线主动搜集:ICMP实现访问一个网段的功能(3-2)改进为了能够扫描一整个网段的活跃主机,使用ipaddress模块用来创建IP地址同时为了使程序员轻松编写友好的命令行界面,再加入增加参数选项argparse和多线程运行结果本课件是可编辑的正常PPT课件基于TCP和UDP的主机发现探测主机存活端口开放服务类型系统类型课堂导入被动信息搜集主动信息搜集基于ICMP的主机发现屏蔽策略基于传输层的主机发现基于TCP的主机发现基于UDP的主机发现扫描结果不正确可靠用途广本课件是可编辑的正常PPT课件知识目标掌握基于TCP的主机发现和端口状态的基本概念掌握基于UDP的主机发现的基本概念学会对应方法的脚本编写本课件是可编辑的正常PPT课件TCP探测主机存活TCP探测主机存活TCP
是一种面向连接的、可靠的传输通信协议当向目标主机直接发送ACK数据包时,如果目标主机存活,就会返回一个RST数据包以终止这个不正常的连接。发送端接收端ACK数据包RST数据包三次握手原理本课件是可编辑的正常PPT课件TCP探测主机存活发送正常的SYN数据包,如果目标主机返回SYN+ACK的数据包或RST数据包,也可以证明目标主机为存活状态。发送端接收端标有SYN数据包发你了明白(发送ACK数据包)收到数据包(发送SYN+ACK数据包)三次握手原理本课件是可编辑的正常PPT课件TCP探测主机存活利用TCP探测目标主机存活的工作原理主要依据目标主机响应数据包中flags字段。flags字段有值,表示主机存活SYNFINACKPSHRSTURG本课件是可编辑的正常PPT课件TCP探测主机存活根据以上TCP发现主机存活的原理,可编写相应的Python工具实现参数选项argparse多线程例(1-1)本课件是可编辑的正常PPT课件实验结果展示该网段里各个主机是否存活TCP探测主机存活本课件是可编辑的正常PPT课件UDP探测主机存活UDP的探测流程UDP提供无连接的网络通信服务当向目标主机发送一个UDP数据包后,目标主机不会发回任何UDP数据包目标主机处于活跃状态目标端口是关闭状态时返回一个ICMP数据包数据包的状态是unreachable本课件是可编辑的正常PPT课件UDP的探测流程根据以上UDP发现主机存活的原理,可编写相应Python工具实现UDP的探测流程相对简单例(3-1)本课件是可编辑的正常PPT课件搜集结果信息基于UDP的主机发现实现很清晰UDP的探测流程本课件是可编辑的正常PPT课件总结基于TCP的主机发现基于UDP的主机发现重点:主机发现脚本的编写本课件是可编辑的正常PPT课件TCP探测目标端口探测主机存活端口开放服务类型系统类型课堂导入被动信息搜集主动信息搜集基于ICMP的主机发现屏蔽策略基于传输层的主机发现基于TCP的主机发现基于UDP的主机发现扫描结果不正确可靠用途广本课件是可编辑的正常PPT课件知识目标掌握基于TCP的端口状态的基本概念学会对应方法的脚本编写本课件是可编辑的正常PPT课件TCP探测目标端口利用TCP-三次握手的原理向目标主机而端口发送SN教据包,自标王机的路合打开 ——返回SYN+ACK数据包自标王机的路合关闭 ——返回RST数据包根据返回的数据包类型可判断目标端口是否打开本课件是可编辑的正常PPT课件TCP探测目标端口根据以上TCP探测目标端口的原理,我们可以编写相应的Python工具进行实现测试目标端口种类不多,程序运行速度符合实验要求,未创建线程例(2-1)本课件是可编辑的正常PPT课件搜集结果信息展示目标端口的状态TCP探测目标端口本课件是可编辑的正常PPT课件服务类型识别课堂导入信息收集主机是否存活目标端口状态信息搜集的方法目标系统信息收集服务识别操作系统类型的识别本课件是可编辑的正常PPT课件知识目标掌握服务识别的基本概念学会服务识别的脚本编写本课件是可编辑的正常PPT课件服务识别入侵者——利用这些软件上的漏洞入侵目标目标主机的服务攻击者Web服务器防护墙版本信息网络安全的维护者——提前发现系统的漏洞,预防入侵行为本课件是可编辑的正常PPT课件服务识别很多扫描工具根据端口判断服务类型,因为常见的服务都会运行在固定的端口上,但利用该方式进行服务识别存在明显的缺陷:修改服务运行的端口FTP服务——运行在21号端口上HTTP服务——运行在80号端口上根据端口号来判断运行的服务不准确本课件是可编辑的正常PPT课件服务识别向目标开放的端口发送探针数据包进而确定运行的服务类型根据获取的banner信息对运行的服务类型进行判断进而可确定开放端口对应的服务类型及版本号目标主机返回的banner信息
存储总结的banner信息VS本课件是可编辑的正常PPT课件服务识别实现服务识别例(1-1)定义常用服务类型的特征库定义扫描函数,返回数据处理等设置主函数本课件是可编辑的正常PPT课件服务识别脚本顺利识别出访问端口的服务类型本课件是可编辑的正常PPT课件操作系统类型识别课堂导入信息收集主机是否存活目标端口状态信息搜集的方法目标系统信息收集服务识别操作系统类型的识别本课件是可编辑的正常PPT课件知识目标掌握操作系统类型识别的基本概念学会操作系统类型识别的脚本编写本课件是可编辑的正常PPT课件操作系统类型识别网络渗透减少不必要的测试成本缩小测试范围更精确地针对目标进行渗透测试目标主机操作系统的类型和版本本课件是可编辑的正常PPT课件操作系统类型识别操作系统类型繁多指纹识别对目标的操作系统进行猜测原理向目标主机发送一段特定的数据包判断目标主机中可能的操作系统类型分析目标主机对数据包做出的回应本课件是可编辑的正常PPT课件操作系统类型识别Windows操作系统TCP/IP实现方式不同响应数据包的内容Linux操作系统两种系统对特定格式的数据包有不同的响应结果响应时间操作系统的指纹本课件是可编辑的正常PPT课件操作系统类型识别Windows操作系统TCP/IP实现方式不同响应数据包的内容Linux操作系统两种系统对特定格式的数据包有不同的响应结果响应时间操作系统的指纹对目标主机进行ping操作后根据其返回的TTL值对系统类型进行判断Windows系统的TTL起始值为128Linux系统的TTL起始值为64且每经过一跳路由,TTL值减1本课件是可编辑的正常PPT课件运行结果:例(2-1)根据目标主机返回的响应数据包中的TTL值,可编写python程序,来判断目标系统的类型操作系统类型识别脚本调用了OS库,对比服务识别步骤较为简单通过输出结果可看到脚本顺利识别出目标系统的类型本课件是可编辑的正常PPT课件Base64编码脚本的编写信息安全课堂导入密码学编码学破译学编制密码以保守通信秘密破译密码以获取通信情报研究编制密码和破译密码的科学技术本课件是可编辑的正常PPT课件课堂导入根据明文处理方式分组密码序列密码根据密钥的使用个数非对称加密算法对称加密算法本课件是可编辑的正常PPT课件课堂导入利用python工具脚本进行检测密码学应用范广泛围本课件是可编辑的正常PPT课件介绍常见的加密算法原理通过Python脚本的方式实现对数据的加解密计算教学目标掌握Base64编/解码的原理学会Base64编/解码的脚本实现知识目标能力目标本课件是可编辑的正常PPT课件Base64编/解码的原理Base64编/解码的原理定义:由任意二进制到文本字符串的编码方法常用于在URL、Cookie、网页中传输少量二进制数据Base64本课件是可编辑的正常PPT课件Base64编/解码的原理Base64编码的图片请求的数据包被Base64编码Base64编码的数据都可利用Base64的可逆性解码本课件是可编辑的正常PPT课件二进制文件包含很多无法显示和打印的字符文本处理软件处理二进制数据二进制数据特定字符串Base64编码Base64编/解码的原理本课件是可编辑的正常PPT课件Base64编/解码的原理采用Base64的编码方式将二进制数据编码为适合放在URL中的形式垃圾信息转播者采用Base64编码的方式规避反垃圾邮件工具简短性不可读性保护敏感数据本课件是可编辑的正常PPT课件每3个8位字节编码成4个6位的字节在每个6位字节前面补充两个0,形成4个8位字节的形式将字符串中的字符换其ASCII码转换为二进制数Base64的编码规则Base64编/解码的原理将每个8位字节转换为十进制数并以对应的字符来表示(3×8=24位)(4×6=24位)本课件是可编辑的正常PPT课件
Base64的编码规则A—Z0—9a—z+,/64个字符Base64编/解码的原理本课件是可编辑的正常PPT课件Base64编/解码的原理本课件是可编辑的正常PPT课件0000000000000000末尾补0凑够24位
注意:例(1-2)Base64编/解码的原理本课件是可编辑的正常PPT课件Base64编/解码的脚本实现python中的base64库可以实现base64编码与解码。其用于编码和解码的方法有8个,两两分为4组:Base64编/解码的脚本实现专门用来编码和解码文件的,也可以StringIO里的数据做编解码encodedecode用来编码和解码字符串,并且有一个替换符号字符的功能Encodestringdecodestring用来编码和解码字符串,并且有一个替换符号字符的功能b64encodeb64decode专门对url进行base64编解码urlsafe_b64encodeurlsafe_b64decode本课件是可编辑的正常PPT课件Base64编/解码的脚本实现编码与解码的处理对象:byte原数据str→byte编码byte→str解码本课件是可编辑的正常PPT课件字符串和Bytes互相转换方法:Base64编/解码的脚本实现encode()编码脚本解码脚本decode()本课件是可编辑的正常PPT课件总结国际解密码的详细介绍base64编/解码脚本的编写重点:base64编/解码脚本的编写本课件是可编辑的正常PPT课件DES加解密脚本的编写课堂导入计划:开发一个单独的标准密码算法保护计算机和通信数据美国国家标准局美国国家标准局本课件是可编辑的正常PPT课件课堂导入1973年NBS公开征集标准密码算法1974年NBS二次征集到一个候选算法,该算法从IBM1970年初开发出的Lucifer算法发展而来1975年3月NBS公布算法细节1976年11月DES被美国政府采纳作为联邦标准,授权在非密级的政府通信中使用1981年美国国家标准研究所(ANSI)批准DES作为私营部门的标准(ANSIX3.92)本课件是可编辑的正常PPT课件加密算法:由某个领域开始,通过不断发展和改善,才成为一套比较成熟的算法教学目标掌握DES加解密的原理学会DES加解密的脚本实现和延伸的AES加解密的实现知识目标能力目标本课件是可编辑的正常PPT课件DES加/解密的原理DES加/解密的原理一种分组加密算法,输入的明文为64位,密钥为56位,生成的密文为64位DES明文64bit密钥54/64bitDES加密密文64bit本课件是可编辑的正常PPT课件DES加/解密的原理DES对64位的明文分组进行操作通过初始置换,将明文分组分成左、右两半部分,各32位长进行16轮完全相同的运算DES明文16进制字符串二进制字符串明文16进制字符串二进制字符串明文16进制字符串二进制字符串DES加密密文二进制密文16进制字符串密文16进制字符串密文二进制DES加密明文二进制明文加密解密本课件是可编辑的正常PPT课件DES编/解密的脚本实现DES编/解密的脚本实现python中的pyCryptodome库是一个强大的加密算法库对称加密单向加密安装时库名字:pyCryptodome;使用时的名字:Crypto流加密算法非对称加密Crypto.Cphier可以实现DES、AES、RSA等加密算法本课件是可编辑的正常PPT课件DES编/解密的脚本实现使用该模块的进行数据加密的步骤为:导入算法模块:fromCrypto.CphierimportDESDES加密算法的密钥创建DES对象实例:des=DES.new(key,mode)必须为8个字符例:DES算法算法工作模式:二进制模式mode(密钥)本课件是可编辑的正常PPT课件DES编加/解密的脚本实现DES算法有5种工作模式:ECB(电码本模式)CBC(密码分组链接模式)CTR(计算器模式)例:DES算法CFB(密码反馈模式)OFB(输出反馈模式)——不安全DES本课件是可编辑的正常PPT课件DES编/解密的脚本实现加密des.encrypt(encrypt_text)需要加密的文本文本大小:必须是8字符的倍数加密后的数据:以二进制byte类型来表示,以十六进制表示:
用binascii模块的b2a_hex(data)进行转换解密des.dncrypt(decrypt_text)解密的文件必须为二进制byte类型,如果原始文本以十六进制表示,需要使用使用binascii模块的a2b_hex(data)来进行转换通过DES对象实例调用加密算法本课件是可编辑的正常PPT课件DES编/解密的脚本实现加密解密调用Crypto.Cipher模块实现DES数据加/解密本课件是可编辑的正常PPT课件AES加/解密的脚本实现目的:确定一个非保密的、可以公开技术细节的、全球免费使用的对称加密算法来代替DES作为新的数据加密标准高级加密标准(AdvancedEncrpytionStandard)美国国家标准技术研究所1997.4.15本课件是可编辑的正常PPT课件AES加/解密的脚本实现密钥长度必须为16个字符明文长度必须为16个字符的倍数使用Crypto.Cphier模块中的AES算法过程加密本课件是可编辑的正常PPT课件AES加/解密的脚本实现编码脚本解码脚本调用Crypto.Cipher模块实现AES数据加/解密本课件是可编辑的正常PPT课件总结Base加密脚本编写DES加解密的原理过程和实现过程重点:DES加解密的脚本编写AES加解密的脚本编写本课件是可编辑的正常PPT课件MD5加密脚本的编写课堂导入美国密码学家罗纳德.李维斯特(RonaldLinnRivest)设计,1992年公开Base64编码DES加密AES加密MD5算法本课件是可编辑的正常PPT课件教学目标掌握MD5加密的原理学会MD5加密的脚本实现知识目标能力目标本课件是可编辑的正常PPT课件MD5加密的原理MD5加密的原理一种被广泛使用的密码散列函数能对信息管理系统加密广泛应用于计算机、数据安全传输、数字签名认证等安全领域MD5MessageDigestAlgorithm消息摘要算法明文加密发送方明文加密接受方网络其他不可逆特征安全性加密应用本课件是可编辑的正常PPT课件MD5加密的原理MessageDigest以512位的分组来处理输入的信息,每一分组划分成16个32位的子分组算法的输出32位分组32位分组32位分组32位分组128位的散列值MD5本课件是可编辑的正常PPT课件MD5加密脚本的实现MD5加密脚本的实现python实现MD5加密时用到的是hashlib模块,可以通过hashlib标准库使用多种Hash算法SHA1SHA224SHA256SHA384SHA512MD5算法hashlib模块hashlib标准库Hash算法本课件是可编辑的正常PPT课件MD5加密脚本的实现返回一个md5对象,如果给出参数,则相当于调用了update(arg)md5.new([arg])用string参数arg更新md5对象md5.updte(arg)返回16字节的摘要,由传给update的string生成,摘要没有ascii字符md5.digest()以16进制的形式返回摘要md5.hexdigest()python的md5模块包括以下几个函数:本课件是可编辑的正常PPT课件MD5加密脚本的实现调用hashlib模块实现md5数据加密本课件是可编辑的正常PPT课件MD5加密脚本的实现MD5为单向Hiash加密,且不可逆MD5算法所产生的32位输出所能够表示的空间大小为1632,即当样本大于1632时就会产生Hash碰撞结论鸽巢原理本课件是可编辑的正常PPT课件MD5加密脚本的实现生成大量密码样本的Hash得到Hash值所对应的密码密码Hash值反查初始序列128bit一一对应本课件是可编辑的正常PPT课件MD5加密脚本的实现初始序列128bit可根据统计规律建立简单密码所对应的MD5值表,从而得到使用简单密码的用户账户互联网应用弱密码本课件是可编辑的正常PPT课件MD5加密脚本的实现鉴于存在安全性问题,可以在用户密码被创建时生成一个随机字符串(
Salt)与用户口令连接在一起,然后再用散列函数对这个宇符串进行MD5加密Salt如:Salt值的数目足够大实际上消除了对常用口令采用的宇典式破解原因:攻击者不可能在数据库中存储那么多Salt和用户密码组合后的MD5值本课件是可编辑的正常PPT课件MD5加密脚本的实现鉴于存在安全性问题,可以在用户密码被创建时生成一个随机字符串(
Salt)与用户口令连接在一起,然后再用散列函数对这个宇符串进行MD5加密Salt
更安全的做法给每个密码设置一个随机的Salt值即使通过暴力枚举破解了一个用户的密码,也很难再破解其他用户的密码本课件是可编辑的正常PPT课件总结重点:md5加密的脚本编写使用Python编程方式举例说明Base64编码DES加密AES加密本课件是可编辑的正常PPT课件密码学是信息安全的基础口令破解字典脚本的编写口令字典生成的原理口令字典本课件是可编辑的正常PPT课件设置有针对性的口令口令字典生成的原理搜集到的信息被攻击对象设定口令的规律和习惯字典社会工程学本课件是可编辑的正常PPT课件口令字典生成的原理常见的用户口令和默认口令利用管理员信息自动生成的口令社会工程学口令字典本课件是可编辑的正常PPT课件口令字典生成的原理张伟person_information搜索引擎社交网络搜集到的信息越多,得到的字典中所包含正确的密码概率就越大本课件是可编辑的正常PPT课件口令字典生成的原理TopPwd网络搜索常见的用户口令和默认口令经常使用的口令服务以及软件的默认口令本课件是可编辑的正常PPT课件口令字典生成的过程读取个人信息文件,存入用户信息列表特殊字符串存入特殊字符列表将常用口令字典文件写入新生成的字典文件处理个人信息,生成各种组合写入字典文件本课件是可编辑的正常PPT课件口令字典生成的过程处理个人信息,生成各种组合写入字典文件把个人信息大于等于8位的直接输出到字典对于小于8位的个人信息利用数字进行补全到8位并输出到字典把个人信息元素两两进行相互拼接,大于等于8位的输出到字典在个人信息元素两两拼接后加入特殊字符,大于等于8位就输出到字典本课件是可编辑的正常PPT课件脚本代码如何编写Itertools模块Itertools模块itertools是Python内置的模块按要求在字符集中生成相应的组合用法简单且功能强大可提供多种函数本课件是可编辑的正常PPT课件Itertools模块功能:将元素进行排列有两个参数permutations(iterable,r)第一个参数是要选择的字符集第二个参数是要从字符集中选择几个字符进行排列如果省略第二个参数,则表示全排列本课件是可编辑的正常PPT课件Itertools模块第一个参数我们设置为abc,第二个参数设置为2,就意味着在abc中选择2个进行排列permutations(iterable,r)本课件是可编辑的正常PPT课件如果第一个参数不变,而第二个参数不写,则对abc进行全排列permutations(iterable,r)Itertools模块本课件是可编辑的正常PPT课件Itertools模块功能:从多个字符集中取元素进行组合参数可以有多个product(p[,q,...,][,repeat=1])前几个都是字符集最后一个repeat参数是从各字符集中取元素的个数,默认为1个本课件是可编辑的正常PPT课件设置一个字符集abc,所取元素个数设置为2product(p[,q,...,][,repeat=1])Itertools模块本课件是可编辑的正常PPT课件permutations(iterable,r)product(p[,q,...,][,repeat=1])Itertools模块本课件是可编辑的正常PPT课件
product函数更多的时候是用于从多个字符表中取repeat个元素进行排列。product(p[,q,...,][,repeat=1])Itertools模块本课件是可编辑的正常PPT课件设置两个字符表,一个为ab,一个为cd,分别从每个字符表中选一个元素进行排列productItertools模块本课件是可编辑的正常PPT课件Itertools模块功能:elem元素n次或无限次重复有两个参数第一个参数是字符集第二个参数是重复的次数,如果省略则重复无限次repeat(elem[,n])本课件是可编辑的正常PPT课件repeat(elem[,n])Itertools模块将abc这个字符集重复输出两次本课件是可编辑的正常PPT课件口令字典的编写和运行效果课程导入掌握了后台管理员的口令,就掌握了Web网站的最高权限本课件是可编辑的正常PPT课件破解WEB后台口令脚本的编写后台口令破解思路掌握了后台管理员的口令,就掌握了Web网站的最高权限本课件是可编辑的正常PPT课件后台口令破解思路穷举法本课件是可编辑的正常PPT课件后台口令破解思路穷举法根据前期对于后台管理员的信息收集,形成后台系统管理员的个人基本信息本课件是可编辑的正常PPT课件如何编写脚本模拟浏览器登录Web网站模拟浏览器访问Web网站本课件是可编辑的正常PPT课件请求方法、请求的URI、HTTP版本信息模拟浏览器访问Web网站本课件是可编辑的正常PPT课件模拟浏览器访问Web网站请求方法GET方法POST方法用于获取请求页面的指定信息要求被请求服务器接收附在请求后面的数据,也就是请求正文常用于提交表单本课件是可编辑的正常PPT课件模拟浏览器访问Web网站GET方法提交的参数是在URL中POST方法提交的参数是在消息体中发送的区别:提交参数在HTTP请求包的位置不同本课件是可编辑的正常PPT课件模拟浏览器访问Web网站模拟浏览器向Web服务器发送HTTP请求,就要将完整的请求行、请求头和请求正文提交本课件是可编辑的正常PPT课件如何编写脚本模拟浏览器呢?Requests库本课件是可编辑的正常PPT课件GET方法POST方法GET函数Requests库GET函数r=requests.get(url,headers,params[,...])本课件是可编辑的正常PPT课件Requests库GET函数r=requests.get(url,headers,params[,...])要访问的网站的网址本课件是可编辑的正常PPT课件Requests库GET函数r=requests.get(url,headers,params[,...])定制的http头部信息包括“User-Agent”等内容本课件是可编辑的正常PPT课件Requests库GET函数r=requests.get(url,headers,params[,...])指定提交给URL的参数本课件是可编辑的正常PPT课件Requests库GET函数r=requests.get(url,headers,params[,...])本课件是可编辑的正常PPT课件Requests库GET函数r=requests.get(url,headers,params[,...])一般情况下,headers参数不是必须的如果Web服务器要求浏览器的类型和版本,我们就要使用headers来声明我们的浏览器的信息headers参数需要使用字典类型定义head={'User-Agent':'Chrome/19.0.1036.7Safari/535.20'}本课件是可编辑的正常PPT课件Requests库本课件是可编辑的正常PPT课件Requests库本课件是可编辑的正常PPT课件Requests库本课件是可编辑的正常PPT课件Requests库本课件是可编辑的正常PPT课件Requests库nameheadersRequestHeaders本课件是可编辑的正常PPT课件Requests库nameheadersRequestHeadersUser-Agent本课件是可编辑的正常PPT课件Requests库GET函数r=requests.get(url,headers,params[,...])指定提交给URL的参数当访问一个使用GET方法提交请求的网站时,提交的变量名字和值会跟在URL的末尾本课件是可编辑的正常PPT课件Requests库GET函数r=requests.get(url,headers,params[,...])指定提交给URL的参数本课件是可编辑的正常PPT课件Requests库GET函数r=requests.get(url,headers,params[,...])指定提交给URL的参数本课件是可编辑的正常PPT课件使用python模拟浏览器访问Web网站时,如果遇到需要用户提交数据的情况,就要把URL后面的变量名和变量值以字典的形式列出来Requests库GET函数pm={'contents':'abc'}变量名变量值本课件是可编辑的正常PPT课件Requests库GET函数本课件是可编辑的正常PPT课件POST函数Requests库POST函数r=requests.post(url,headers,data[,...])要访问的网站的网址定制的http头部信息本课件是可编辑的正常PPT课件Requests库POST函数r=requests.post(url,headers,data[,...])需要提交给服务器的数据本课件是可编辑的正常PPT课件Requests库POST函数r=requests.post(url,headers,data[,...])需要提交给服务器的数据post方法在提交数据时,变量名和变量值并不在url中显示本课件是可编辑的正常PPT课件Requests库POST函数请求行本课件是可编辑的正常PPT课件Requests库POST函数请求头本课件是可编辑的正常PPT课件Requests库POST函数请求内容本课件是可编辑的正常PPT课件Requests库POST函数POST函数的调用本课件是可编辑的正常PPT课件Requests库不管是调用get函数还是post函数,都会有一个返回值,也就是我们发送http请求到Web服务器后得到相应的响应。!本课件是可编辑的正常PPT课件Requests库Reponse对象属性含义status_code响应状态码,1XX表示成功,请求已被成功接收,需要继续处理。2XX表示成功,请求已被成功接收、理解、接受。3XX表示重定向,要完成请求必须进行更进一步处理。4XX表示客户端错误,请求有语法错误或请求无法实现。5XX表示服务器端错误,服务器处理请求时出错。text响应内容的字符串形式,url对应的页面内容。encoding从HTTPheader中的charset猜测的响应内容编码方式。contentHTTP响应内容的二进制形式。headershttp响应内容的头部内容。apparent_encoding从内容分析出的响应内容的编码方式(备选编码方式)。本课件是可编辑的正常PPT课件编写脚本实操课程导入FTP是一种文件传输协议,用户通过FTP服务可以从客户机向远程主机上传或下载文件,常用于网站代码维护、日常源码备份等。本课件是可编辑的正常PPT课件如果攻击者通过FTP匿名访问或者破解弱口令获取登录FTP服务器的权限,将可直接上传攻击脚本来进一步渗透提权,直至控制整个网站服务器。课程导入本课件是可编辑的正常PPT课件破解FTP口令脚本的编写FTP服务环境在资源管理器地址栏中输入“”本课件是可编辑的正常PPT课件FTP服务环境自动以匿名用户身份登录FTP服务器本课件是可编辑的正常PPT课件FTP服务环境在空白处右键选择“登录”,会打开登录FTP的登录窗口本课件是可编辑的正常PPT课件FTP服务环境输入登录的用户名和密码,也可登录到FTP服务器本课件是可编辑的正常PPT课件编写脚本模拟客户端登录FTP服务器的过程FTP口令破解脚本的设计思路使用之前的用户名和口令字典登录登陆成功用户名和口令正确将用户名和口令写入破解结果文件中本课件是可编辑的正常PPT课件FTP口令破解脚本的设计思路定义了FTP类ftplib模块其中的函数可用来实现简单的ftp客户端,用于上传或下载文件本课件是可编辑的正常PPT课件模拟FTP客户端访问FTP服务器FTP类的使用f=ftplib.FTP(host='',user='',passwd='',acct='',timeout=None,source_address=None)本课件是可编辑的正常PPT课件模拟FTP客户端访问FTP服务器FTP类的使用f=ftplib.FTP(host='',user='',passwd='',acct='',timeout=None,source_address=None)FTP服务器的域名或IP地址默认情况下,该参数为空本课件是可编辑的正常PPT课件模拟FTP客户端访问FTP服务器FTP类的使用f=ftplib.FTP(host='',user='',passwd='',acct='',timeout=None,source_address=None)登录FTP服务器的用户名和密码该参数默认为空本课件是可编辑的正常PPT课件模拟FTP客户端访问FTP服务器FTP类的使用f=ftplib.FTP(host='',user='',passwd='',acct='',timeout=None,source_address=None)提供记账信息accountinginformation仅少数系统实现了该特性本课件是可编辑的正常PPT课件模拟FTP客户端访问FTP服务器FTP类的使用f=ftplib.FTP(host='',user='',passwd='',acct='',timeout=None,source_address=None)指定连接超时的时间本课件是可编辑的正常PPT课件模拟FTP客户端访问FTP服务器FTP类的使用f=ftplib.FTP(host='',user='',passwd='',acct='',timeout=None,source_address=None)一个(host,port)元组用来指定客户端的源地址和源端口这两项默认也为None本课件是可编辑的正常PPT课件模拟FTP客户端访问FTP服务器使用FTP类定义创建一个FTP对象使用FTP类中的函数与FTP服务器进行交互本课件是可编辑的正常PPT课件模拟FTP客户端访问FTP服务器函数参数说明说明connect(host='',port=0,
timeout=None,source_address=None)host:FTP服务器地址;port:FTP服务端口号,默认端口为21;timeout:指定连接超时的时间,若不指定则使用全局超时参数;source_address是一个(host,port)元组,用来指定客户端的源地址和源端口。用于连接FTP服务器。login(user='anonymous',passwd='',acct='')user:指定登录的用户名,若未指定则使用匿名用户anonymouspasswd:指定登录的口令acct:记账信息在连接FTP服务器时用以验证使用getwelcome()连接成功返回“welcome
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 档案管理员数据分析能力试题及答案
- 2024年统计师考试资料分享及试题答案
- 基于项目的多媒体设计评估试题及答案
- 2024年调酒师服务质量提升试题及答案
- 档案管理职业道德试题及答案
- 2024年项目招标技巧试题及答案
- 2024年税务师精练知识要点试题及答案
- 圆周运动的特点探讨:初中物理考试试题及答案
- 馒头代加工合同范本
- 人工智能在农业领域的应用前景与挑战
- 【公开课】同一直线上二力的合成+课件+2024-2025学年+人教版(2024)初中物理八年级下册+
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- (2024年)桥梁施工质量控制要点
- (高清版)TDT 1075-2023 光伏发电站工程项目用地控制指标
- 《中华民族共同体概论》考试复习题库(含答案)
- 收方管理办法
- GB19105—2003过氧乙酸包装要求
- 四年级下册音乐课件-4-聆听-小放驴-沪教版(共9张PPT)
- 应聘人员面试评分表
- 引水工程压力管道水压试验施工方案
- 【县级公开课教案】高考英语阅读七选五解题技巧指导
评论
0/150
提交评论