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("\n")
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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM