模擬ssh, hashlib模塊, struct模塊, subprocess模塊

一. 模擬ssh

# ===================================== 服務器端 =====================================import socket
import subprocess    # 系統操作server = socket.socket()server.bind(('127.0.0.1',8008))server.listen(5)while True:print("server is working.....")conn,addr = server.accept()# 字節類型while True:# 針對window系統try:cmd = conn.recv(1024).decode("utf8") # 阻塞if cmd == b'exit':breakres=subprocess.Popen(cmd,shell=True,stderr=subprocess.PIPE,stdout=subprocess.PIPE,)# print("stdout",res.stdout.read())# print("stderr",res.stderr.read().decode("gbk"))out=res.stdout.read()err=res.stderr.read()print("out響應長度",len(out))print("err響應長度",len(err))if err:import structheader_pack = struct.pack("i", len(err))conn.send(header_pack)conn.send(err)else:#構建報頭import structheader_pack=struct.pack("i",len(out))print("header_pack",header_pack)# # 發送報頭conn.send(str(len(out)).encode("utf8"))# 發送數據conn.send(out)except Exception as e:breakconn.close()# ===================================== 客戶端 =====================================
import socket
import structsk = socket.socket()sk.connect(('127.0.0.1', 8008))while 1:cmd = input("請輸入命令:")sk.send(cmd.encode('utf-8'))  # 字節if cmd == "":  # 空字符串無法發送continueif cmd == 'exit':breakheader_pack = sk.recv(4)data_length = struct.unpack("i", header_pack)[0]  # unpack是一個元組print("data_length", data_length)data_length = int(sk.recv(1024).decode("utf8"))print("data_length", data_length)recv_data_length = 0recv_data = b""while recv_data_length < data_length:data = sk.recv(1024)recv_data_length += len(data)recv_data += dataprint(recv_data.decode("gbk"))sk.close()

  

二. hashlib模塊

import hashlibmd5=hashlib.md5()
md5.update(b"hello")
md5.update(b"yuan")print(md5.hexdigest())
print(len(md5.hexdigest()))#helloyuan:   d843cc930aa76f7799bba1780f578439
#             d843cc930aa76f7799bba1780f578439       # 多次update和單次update結果一樣#############################################md5=hashlib.md5()with open("ssh_client.py","rb") as f:for line in f:md5.update(line)     # 多次update和單次update結果一樣print(md5.hexdigest()) # f.read()

  

三.?struct模塊

import structres=struct.pack("i",2934781)print(res)
print(len(res))obj=struct.unpack("i",res)
print(obj[0])

  

四.?subprocess模塊 # windows系統明命令

import subprocessres=subprocess.Popen("dir",shell=True,stderr=subprocess.PIPE,stdout=subprocess.PIPE)print(res.stdout.read().decode("gbk"))

  

?

轉載于:https://www.cnblogs.com/NachoLau/p/9588952.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/253586.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/253586.shtml
英文地址,請注明出處:http://en.pswp.cn/news/253586.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用pssh進行并行批量操作

假如同時給上千臺服務器執行一個命令,拷貝一個文件,殺一個進程等,有什么簡化運維管理的工具呢?在小型使用中我都是使用for循 環,數量巨大,一方面不確定操作是否成功,一方面for循環語句性能不好估計且是不是同步并行執行.&#xff0c;這類工具比如 pdsh&#xff0c;mussh&#…

圖像清晰度評價函數

概述 圖像清晰度是用來指導調焦機構找到正焦位置的評價函數。理想的清晰度評價曲線如下圖所示,其中P 是評價函數最大值的位置,其對應正焦位置,P1 和P2 為正焦位置焦前和焦后采集到圖像的清晰度評價結果。 為了指導調焦機構找到正焦位置,清晰度曲線須具有以下特點: 單…

Linux下讀寫芯片的I2C寄存器

Linux下讀寫芯片的I2C寄存器 2012-01-10 11:40:18 標簽&#xff1a;Linux 寄存器 驅動 讀寫 I2C 原創作品&#xff0c;允許轉載&#xff0c;轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://ticktick.blog.51cto.com/823160/76096…

列表和表格---學習筆記02

第7章 列表和表格 7.1 有序列表<ol type"A"><li>這里是第1個li</li><li>這里是第2個li</li><li>這里是第3個li</li></ol> ol屬性&#xff1a;type : 數字(1),大小寫字母(A,a),大小寫羅馬數字(I,i)start: "起始…

(下)挖掘傳統行業日志大數據的無限價值

&#xfffc;8 月 27 日晚上八點&#xff0c;七牛云高級解決方案架構師程雪松在 IT 大咖說進行了題為《挖掘傳統行業日志大數據的無限價值》的直播&#xff0c;對傳統行業運維常見困境和統一日志管理的必要性進行了深入解析&#xff0c;并通過 Pandora 的一些真實用戶案例和大家…

CMOS圖像傳感器 —— ISOCELL

最近,外媒曝光了三星最新的CIS傳感器路線圖,路線圖顯示,三星在2億像素之外已經規劃2025年推出576MP像素的傳感器,也就是5億7千6百萬像素。 若5.76億像素的傳感器推出,意味著手機傳感器可媲美中高端單反水平了。三星沒有提及這個5.76億像素的傳感器是怎樣實現的。因…

LeetCode 153. Find Minimum in Rotated Sorted Array (在旋轉有序數組中找到最小值)

Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). Find the minimum element. You may assume no duplicate exists in the array. 題目標簽&#xff1a;Array, Binary Se…

YUV圖像

YUV420P&#xff0c;Y&#xff0c;U&#xff0c;V三個分量都是平面格式&#xff0c;分為 I420 和 YV12 。 I420 格式和 YV12 格式的不同處在U平面和V平面的位置不同。在I420格式中&#xff0c;U平面緊跟在Y平面之后&#xff0c;然后才是V平面&#xff08;即&#xff1a;YUV&…

色調映射(Tone Mapping)

一、概述 雖然HDR 圖像有較大的動態范圍,能更細致地反映真實場景,但他的缺點也很明顯。一是同尺寸的數據比低動態范圍圖像大,需要更大的存儲空間與傳輸帶寬。二是難以輸出,目前大多數顯示器、打印機等圖形輸出設備的動態范圍要比普通的高動態范圍圖像小得多。。因此,色調映…

實用軟件工具

1.突破百度網盤下載速度現在&#xff0c;使用 Aria2下載 Aria2-不限速全平臺下載利器但是百度網盤賬號會被限速 &#xff0c;沖會員解除正常限制網速2.Safari 預覽&#xff0c;將網頁轉化為自定義尺寸 PDF 3.清除Xcode 緩存 刪除模擬器運行緩存&#xff0c;找到Developer->…

[原創]Toolbar setNavigationIcon無效

最近在做一個Toolbar&#xff0c;setNavigationIcon()這個方法一直無效&#xff0c;說什么的都有&#xff0c;什么getSupportActionBar().setNavigationIcon()的&#xff0c;說設置style的&#xff0c;說放到setSupportActionBar()之后的。 其實沒有說全&#xff0c;還應該放到…

YUV格式詳解

分類&#xff1a; H.264 MPEG TV 2008-05-14 09:24 16181人閱讀 評論(21) 收藏 舉報 YUV是指亮度參量和色度參量分開表示的像素格式&#xff0c;而這樣分開的好處就是不但可以避免相互干擾&#xff0c;還可以降低色度的采樣率而不會對圖像質量影響太大。YUV是一個比較籠統地說…

KVM安裝、鏡像創建(一)

環境準備 VMware Workstation Pro啟動虛擬化 查看啟動的系統是否支持vmx或svm grep -E (vmx|svm) /proc/cpuinfo 備注&#xff1a;操作系統centos 7 KVM安裝 1、yum查看kvm安裝包 yum list |grep kvm 2、安裝 yum install -y qemu-kvm qemu-kvm-tools libvirt3、啟動libvirtd s…

Sensor 結構——前照、背照、堆棧

優異的工藝和技術可以使得即便不使用更新結構的CMOS,同樣擁有更好的量子效率、固有熱噪聲、增益、滿阱電荷、寬容度、靈敏度等關鍵型指標。在相同技術和工藝下,底大一級的確壓死人(全畫幅和aps-c)。人類的進步就是在不斷發現問題,解決問題。背照式以及堆棧式CMOS的出現,也…

少犯非智力錯誤

工作節省時間最重要的方法之一就是少犯非智力錯誤。 同事反饋說不能預覽&#xff0c;排查半天找不到問題&#xff0c;最后發現是IP地址配錯了。 現場問題同事搞半天找不出原因&#xff0c;結果一看是網域配錯了。 還有些問題開始排查定位不到原因&#xff0c;回頭看時才發現端口…

搭建分布式hadoop2.x集群

前期準備&#xff1a; 1.我這里用了三臺虛擬機&#xff0c;.默認已經配置好靜態IP和IP域名映射&#xff0c;它們相互之間可以ping通 第一臺&#xff1a;192.168.174.131 hadoopNumber01.medal.com 第二臺&#xff1a;192.168.174.132 hadoopNumber02.meda.com 第三臺…

ortp庫使用入門

原創作品&#xff0c;允許轉載&#xff0c;轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://ticktick.blog.51cto.com/823160/345642 我們知道&#xff0c; RTP&#xff08;Real-timeTransportProtocol&#xff09;是用于Internet上…

可測性設計技術

傳統的設計過程和測試過程是分開的&#xff0c;而且測試往往只在設計階段的后期才被考慮。近年來&#xff0c;測試越來越早地被考慮并出現在設計過程中&#xff0c;被稱為“可測性設計”。可測性設計的主要思路就是在設計之初就考慮關于測試方面的設計&#xff0c;并在設計階段…

優酷電視劇爬蟲代碼實現一:下載解析視頻網站頁面(3)補充知識點:htmlcleaner使用案例...

htmlcleaner 下載地址&#xff1a;htmlcleaner2_1.jar 源碼下載&#xff1a;htmlcleaner2_1-all.zip 寫一個測試用的html文件&#xff1a;html-clean-demo.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional" "http://www.w3.org/TR/xhtml1/D…

小程序開發-利用canvas實現保存二維碼海報到本機

場景及需求 在小程序開發過程中&#xff0c;經常需要實現保存某個頁面為帶小程序碼的二維碼海報圖片到本地&#xff0c;然后用于分享或者發朋友圈等操作。 主要技術點及小程序相關api 技術注意事項 小程序的canvas與H5 canvas使用api大部分一致&#xff0c;但由于小程序中沒有D…