zoukankan      html  css  js  c++  java
  • python中常见库及模块用途

    简介
    Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,python中有许多常见的库,
    要想了解这些库的作用及用法就先了解一下这些库的主要功能吧!(自己整理的笔记,仅作参考!!)

    requests爬虫信息处理

    requests是使用Apache2 licensed 许可证的HTTP库。

    from bs4 import BeautifulSoup
    import requests
    
    r = requests.Session()
    s = r.get("http://123.206.87.240:8002/qiumingshan/")
    s.encoding = 'utf-8'
    text = s.text
    soup = BeautifulSoup(text)
    tag = soup.div
    express = str(tag.string)
    express = express[0 : -3]
    answer = eval(express)
    ans = {"value" : answer}
    flag = r.post('http://123.206.87.240:8002/qiumingshan/', data = ans)
    print(flag.text)实验吧 速度爆破: http://www.shiyanbar.com/ctf/1841

    scapy

    数据包完全是自己构造的,这其中的难处一是要清楚各层协议的字段、字段长度、字段是数值还是字符。

    代码如下:

    from scapy.all import *
    #数据包应用层数据部分
    data='xiaoyu'
    #发送端IP地址10.0.3.83不是本机ip地址 目的端IP地址不详 传输层的TCP并未指明数据包类型:syn fin ack 窗口大小 数据包如果分片,要指明序号
    pkt=IP(src='10.0.3.83',dst='10.0.3.88')/TCP(sport=12345,dport=5555)/data
    #间隔一秒发送一次 总共发送5次 发送网卡口:enp1s0
    send(pkt,inter=1,count=5,iface="enp1s0")

      

    optparse 处理命令行参数

    让程序设计人员轻松设计出简单明了,易于使用,符合标准的Unix命令例程式的Python模块。生成使用和帮助信息
    首先必须导入该类,并创建一个OptionParser对象,然后再使用parser.add_option(...)待定义命令行参数,及其帮助文档。
    每个命令行参数就是由参数名字符串和参数属性组成的。如 -f 或者 file 分别是长短参数名:

    parser.add_option("-f", "--file", ...)

    将所有的命令行参数都定义好了的时候,我们需要调用parse_args()方法赖际熙add_option()函数依次传入的参数:

    options,args = parser.parser_args()

    options 是一个字典,其key字典中的关键字可能会是是我们所有的add_option()函数中的dest参数值,其对应的value值,是命令行输入的对应的add_option()函数的参数值。
            args,它是一个由 positional arguments 组成的列表

    threading多线程

    threading模块是Python里面常用的线程模块,多线程处理任务对于提升效率非常重要,优点:同时利用多个cpu,能够同时进行多个操作

    import time
    import threading
    
    def f0():
    pass
    
    def f1(a1,a2):
    time.sleep(5)
    f0()
    
    '''下面代码是直接运行下去的,不会等待函数里面设定的sleep'''
    t= threading.Thread(target=f1,args=(111,112))#创建线程
    t.setDaemon(True)#设置为后台线程,这里默认是False,设置为True之后则主线程不用等待子线程
    t.start()#开启线程
    
    t = threading.Thread(target=f1, args=(111, 112))
    t.start()
    
    t = threading.Thread(target=f1, args=(111, 112))
    t.start()
    #默认情况下程序会等线程全部执行完毕才停止的,不过可以设置更改为后台线程,使主线程不等待子线程,主线程结束则全部结束

    OS

    os 模块提供了非常丰富的方法用来处理文件和目录。

    典型代码如下,打开local文件进行写入

    file = open("local.txt","a")
    file.write(ip)
    file.write("
    ")
    file.write(out)

     paramiko远程控制

    一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,
    fabric和ansible内部的远程管理就是使用的paramiko来现实。

    下载安装:
    pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto

    pip3 install pycrypto
    pip3 install paramiko

    模块使用

    import paramiko
    # 创建SSH对象
    ssh = paramiko.SSHClient()
    # 允许连接不在know_hosts文件中的主机
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    ssh.connect(hostname='c1.salt.com', port=22, username='GSuser', password='123')
    # 执行命令
    stdin, stdout, stderr = ssh.exec_command('ls')
    # 获取命令结果
    result = stdout.read()
    # 关闭连接
    ssh.close()

    paramiko教程:https://www.cnblogs.com/lzc978/p/10978688.html

  • 相关阅读:
    TCP报文发送工具
    Java基础—注解的使用
    STM32以太网ETH
    EC20 minipcie版4g模块开发笔记
    usb端点(endpoint)知识详解
    STM32 usb_mem.c和usb_sil.c文件的分析
    USB的中断说明
    STM32 可编程电压监测器(PVD)实现数据掉电保存
    关于FSMC地址线的理解
    STM32F4—fsmc的配置步骤
  • 原文地址:https://www.cnblogs.com/daiorz/p/12264537.html
Copyright © 2011-2022 走看看