Python网络安全

Python武器库


第一章 Python 基础

前言

以Python为主,渗透测试课程中Python编程的利用。

1.为什么学Python(渗透+应急

  •         网络扫描脚本
  •         自定义漏洞开发
  •         密码破解脚本
  •         WEB应用测试(SQL注入等)
  •         流量包嗅探
  •         社工等
  •         配置管理自动化
  •         安全自动化
  •         密码管理
  •         安全监控等
  •         身份验证授权等

2.Python特点

  •         跨平台(Windows、Linux、Mac等具有编译环境的系统下都可以执行)
  •         解释型(在程序运行的时候就对程序进行解释运行,无编译)
  •         脚本语言(类似于一个剧本,导演了一个序列事件的发生,简化重复性任务或流程,并可以在计算机上运行,而无需人工干预)
  •         动态语言(在运行时可以改变变量类型、hansh)
  •         默认UTF-8编码

3.初次尝试

        VIM:文本编辑器     

                更少的干扰、命令行界面(可以直接在vim上面写脚本)

        配置VIM

                1.创建文件夹:Python_code

                2.创建.vimrc的文件

                        

        在界面上配置好如下代码::wq保存退出                 

set nocompatible 
set number 
set nowrap    
set showmatch  
set scrolloff=3      
set encoding=utf-8  
set fenc=utf-8      
set mouse=a        
set hlsearch        
syntax on
au BufNewFile,BufRead *.py
 set tabstop=4   
 set softtabstop=4  
 set shiftwidth=4   
 set textwidth=79  
 set expandtab       
 set autoindent      
 set fileformat=unix  

 hello world

  1.         创建hello.py文件:vim  hello.py
  2.         编写代码:
  3.         运行代码:python hello.py或者./hello.py(文件非可执行文件,需要给文件增加权限 )
print('hello world')

         圆的面积

        #!:hashbang或者shebang,指示应用哪个解释器处理文件

 4.变量

        数据类型与变量

        None:空对象

        bool:True 1 和 False 0、空

        保留字:关键字;keyword(先import;keyword.kwlist)

        内置函数:函数库

        变量:要更好的处理数据,需要变量代表或者引用某个值。python是弱变量,不需要声明数据类型。python解释器会自动判断,或者type()函数也可以。

                    驼峰命名、下划线命名

5.空行和缩进

        空行:方便阅读和代码维护;非语法

        缩进:相同缩进距离是同一代码块;语法

        单行代码;太长了用  \ 断行

6.字符串

        单引号、双引号、\(去除引号标识字符串的作用,转义字符)

 字符串的属性和方法

        属性没括号,方法有括号

        count(): 统计字符串某个字符的个数

        split():切割函数,将字符串切割成列表。默认按空格

        strip():默认删除字符串首尾的字符

        upper() lower():大小写转换

        __len()__和len():求长度

           

 7.运算符

        算数运算符(回去看数学课本)

        比较运算符:== 和= 一定要分清楚

                ==:比较对象是否相等;

                =:赋值!!!

        赋值运算符:

                +=  -=  /= *=等

        逻辑运算符:

                and  or  not

        成员运算符:

                in:在指定的序列中找到值

                not in:找不到值

        身份运算符:

                is: 判断两个标识符是不是引用一个对象

                is not

8.判断与循环

判断

        if……else

循环

        for循环  常用语遍历

        

   while循环

        break关键字:满足条件终止循环

        continue关键字:满足条件跳过此次循环

9.命令行参数 

        -H  help  url 等

10.模块

        __name__和__main__

        通过python运行,__name__的值是__main__

 通过包的方式运行,__name__的值是文件名

引入模块的方式

import XXXXX  引入整个包

from XXX import XXX  引入包中的某个模块

from XXX import XXX as X   模块别称

模块的搜索路径

 11.包

        模块的组合成了包,python具有大量的包,提供了包管理工具 pip

pip常用命令:

       

 

 

 12.列表

        列表是一种有序的集合

 13.元组

元组tuple是不能改变的列表

 14.集合

       集合set是无序不重复的列表。

定义

 

集合的运算

15.字典 

dict是无序键值对集合。{key:value},key值必须是唯一的,才能从字典中使用key获得对应的value值。

16.数据类型转换 

17.函数 

同一程序多次重复使用代码。函数有参数和返回值,在函数内部对参数进行处理,并把处理结果返回给调用者。

定义

返回值

调用

 

 18.函数的作用域

局部变量

全局变量

 

 19.函数参数

必选参数

        位置参数,可按照顺序进行传参或者参数名传参

默认参数 

可变参数

        数量不固定,可以改变

 

关键字参数

         允许传入0个或者多个带参数名的参数

20.文件处理

        使数据持久化和获取配置的主要方式。

I/O

        input

        print

open/close

对文件的打开和关闭

读取文件内容

 

写入文件

json序列化

字典变成文件就是序列化的过程

csv文件读取

21.异常处理

 


总结

以上就是要讲的内容,本文仅仅简单介绍了python的基础内容,而得基础者得天下,基础扎实更方便后续学习。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值