python渗透脚本小子速成教程
python代码即脚本,脚本小子即是python。python只有几个类:常量、字符串,API不可知的数,变量定义。常量是不变固定的,变量是可变的,字符串一般都是单引号''和双引号""和字符连起来的,api是一种软件组件,软件启动器什么的,不可知的数是因为python语言是开源的,第三方库有很多函数未知的,主要看你的定义。
在2017—2019年IEEE发布的编程语言排行,榜上,Python连续3年位居榜首。Python语言其实已经不年轻了,1989年它诞生于阿姆斯特丹。python的本意是大蟒蛇。不过前些年国内的用户并不多,使用者大都是外国人。这个原因也与编程语言的分类有些关系,在很长一段时间里,国内很多人都推崇编译型编程语言,而不重视解释型编程语言,而Python恰好是一门解释型编程语言。
安装教程:
win:python.org手动安装
linux:sudo apt install puthon
高级函数:
print("hello world!")¥print函数是打印函数,什么是打印函数?打印函数就是输出函数,输出函数是什么?输出函数就是输出内容,后面有什么,就输出什么内容,函数是什么?函数就是一套公式重要的部分,一般脚本小子只记它,括号里面称为字符串,就是"hello world!"。现在你学完了python的高级函数,可以自己写项目了,也可以把你本不多的钱投资给我。
高高级函数:
python编程语言都有三大结构:顺序结构、选择结构和循环结构
if函数就是条件函数判断条件为真为假,if函数配合print函数天下无敌
I am hack = 1 /没有什么精妙,I am hack字符等于1,I am hack就是1,1就是I am hack
if I am hack == 48902892889: /右边的数比左边的数大,=>是大于或等于
print ("我是黑客") /条件不成立,直接出错
while循环函数
i = 1 /i等于1,1等于i
while i>2: /设置条件,i小于2,造成死循环
print ('hello python') /无限打印hello python,直到电脑死机
函数与模块
import语句
如果希望引入某个模块,可以使用import加上模块的名字,例如要引入Socket模块,就可以使用:
import函数
如果希望引入某个模块,可以使用import加上模块的名字,例如要引入Socket模块,就可以使用:
import socket
如果要同时引入多个模块,可以使用逗号分开:
import socket,random
这样引用之后,在调用模块中的函数时,必须使用“模块名.函数名”方式来引用。
open()函数
要对一个文件进行处理,首先需要打开这个文件。就要使用open()函数打开一个文件,创建一个file对象,然后才可以使用其他方法对这个文件进行读写操作。open()函数的完整语法格式如下:
file object = open(file, access_mode='r')
file object = open(file, access_mode='r') /其中,object就是一个file对象,file是要打开目标文件的路径加名称,access_mode是打开文件之后的模式,默认情况下是只读模式r,也就是不能改写该文件。常见的模式包括r(读模式)、w(写模式)、a(追加模式)、b(二进制模式)、+(读/写模式),而这些模式还可以组合使用。例如,wb表示以二进制格式打开一个文件只用于写入,如果该文件已存在则将其覆盖,如果该文件不存在则创建新文件;w+表示打开一个文件用于读写,如果该文件已存在则将其覆盖,如果该文件不存在则创建新文件;wb+表示以二进制格式打开一个文件用于读写,如果该文件已存在则将其覆盖,如果该文件不存在则创建新文件。
下面代码打开一个名为test.txt的文件,并对其进行读写操作。
target = open("test.txt", "w+")
write()函数
打开一个文件之后,还可以使用write()函数将任何字符串写入一个打开的文件。write()函数的格式如下:
target.write(string);
例如,将“Hello Python”写入test.txt中,就可以使用如下代码:
target.write( " Hello Python \n");
close()函数
File对象的close()函数刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再写入。例如,关闭前面打开的文件,就可以执行:
target.close();
Socket模块的主要目的是在网络上的两个程序之间建立信息通道。Python中提供了两个基本的Socket模块:服务器端Socket和客户端Socket。当创建一个服务器端Socket之后,这个Socket会在本机的一个端口上等待连接,客户端Socket访问这个端口后,两者完成连接就可以进行交互。
首先使用Socket编写一个服务器端程序,这里会用到之前介绍过的函数。Socket开始监听后,就会使用accept()函数等待客户端连接。这个过程通过一个条件永远为真的循环来实现,服务器端在处理完和客户端的连接后,会再次调用这个函数开始等待下一个连接。具体代码如下:
import socket s1 = socket.socket() s1.bind(("127.0.0.1",2345)) s1.listen(5) str="Hello world" while 1: conn,address = s1.accept() print ("a new connect from",address) conn.send(str.encode()) conn.close()
接下来再使用Socket编写一个客户端程序,这个程序最重要的功能是通过connect()函数连接到目标服务器端。
import socket s2 =socket.socket() s2.connect(("127.0.0.1",2345)) #对传输数据使用encode()函数处理,Python 3不再支持str类型传输,需要转换为bytes类型 data=bytes.decode(s2.recv(1024)) s2.close() print (data)
python-nmap模块
Nmap已经具备如下功能:
□ 主机发现。向目标计算机发送信息,然后根据目标的反应来确定它是否处于开机并联网的状态。
□ 端口扫描。向目标计算机的指定端口发送信息,然后根据目标端口的反应来判断它是否开放。
□ 服务类型及版本检测。向目标计算机的目标端口发送特制的信息,然后根据目标的反应来检测它运行服务的服务类型和版本。
□ 操作系统检测。除了这些基本功能之外,Nmap还实现了一些高级的审计技术,例如伪造发起扫描端的身份,进行隐蔽扫描,规避目标的防御设备(例如防火墙),对系统进行安全漏洞检测,并提供完善的报告选项。随着Nmap强大的脚本引擎NSE的推出,任何人都可以自己向Nmap中添加新的功能模块。
由于Nmap提供了如此强大且全面的功能,所以如果能在自己编写的Python程序中使用这些功能将会事半功倍。有了Nmap,就像是“站在巨人的肩膀上”编程。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)