麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > Python > 正文

Python socket套接字實現C/S模式遠程命令執(zhí)行功能案例

2024-09-09 19:02:47
字體:
來源:轉載
供稿:網友

本文實例講述了Python socket套接字實現C/S模式遠程命令執(zhí)行功能。分享給大家供大家參考,具體如下:

一. 前言

要求:

使用python的socket套接字編寫服務器/客戶機模式的遠程命令執(zhí)行腳本。

serverCmd.py 遠程機器上用來執(zhí)行客戶端發(fā)送命令的腳本
clientCmd.py 本地機器上,向遠程服務器發(fā)送命令的腳本
servers.txt  本地機器上,存放所有的遠程服務器IP地址文件(僅支持第一個IP)

發(fā)送:cmd [command]形式消息,讓遠程主機執(zhí)行命令(本地主機無回顯)

發(fā)送:close session消息,雙方關閉會話。

二. 源碼

下載地址: 點擊此處本站下載

注:

1. 代碼注釋較少,建議有一定套接字編程基礎。
2. 或者直接簡單部分修改IP使用。
3. clientCmd.py和servers.txt(修改IP地址后)放在同一目錄。
4.程序為簡單Demo,僅為學習記錄。

serverCmd.py

#!/usr/bin/env python# coding:utf-8# Build by LandGrey#import timeimport socketimport threadingimport tracebackimport subprocessdef parsecmd(strings):  midsplit = str(strings).split(" ")  if len(midsplit) >= 2 and midsplit[0] == "cmd":    try:      command = subprocess.Popen(strings[4:], shell=True)      command.communicate()      print "/n"    except Exception, e:      print e.message      traceback.print_exc()def recvdata(port):  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)  s.bind(('', port))  s.listen(1)  print "[+] Server is running on port:%s at %s" % (str(port), time.strftime("%Y%m%d %H:%M:%S", time.localtime()))  while True:    mainsocket, mainhost = s.accept()    print "[+] Connect success -> %s at %s" % (str(mainhost), time.strftime("%Y%m%d %H:%M:%S", time.localtime()))    if mainhost:      while True:        data = mainsocket.recv(1024)        if data:          print "[+] Receive:%s" % data          mainsocket.sendall("[Server]success")          parsecmd(data)        if data == "close session":          mainsocket.close()          print "[+] Quit success"          break      breakif __name__ == "__main__":  # some public variable  connPort = 47091  onethreads = threading.Thread(target=recvdata, args=(connPort,))  onethreads.start()

clientCmd.py

#!/usr/bin/env python# coding:utf-8# Build by LandGrey#import timeimport socketdef readtarget():  global server_list  with open(r"servers.txt") as f:    for line in f.readlines():      if line[0:1] != "#" and len(line.split(".")) == 4:        server_list.append(line)def connserver(host, port):  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  s.connect((host, port))  while True:    print "/n[*] Please input command:"    data = raw_input()    if not data:      break    s.sendall(data)    recvdata = s.recv(1024)    print "[+] Send %s:%s -> %s" % (host, str(connPort), data)    time.sleep(0)    if recvdata:      print "[+] Receive :%s" % recvdata    if data == "close session":      s.close()      breakif __name__ == "__main__":  server_list = []  connPort = 47091  readtarget()  if server_list != []:    for host in server_list:      connserver(host, connPort)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 多人乱大交xxxxx变态 | 色婷婷一区二区三区 | 久久免费精品视频 | 精品国产一区二 | 少妇色诱麻豆色哟哟 | 国产1区视频 | 98色视频 | 精品久久久久久久久久久久久 | 最新午夜综合福利视频 | 久久艹艹艹| 亚洲国产成人一区 | 特一级黄色毛片 | v11av在线视频成人 | 九九热色 | 日韩一级成人 | 奇米888一区二区三区 | 精品一区二区三区在线观看视频 | 日韩字幕在线观看 | 国产精品久久久久久久久久东京 | 欧美日韩精品不卡一区二区三区 | 免费一级特黄欧美大片勹久久网 | 黄色免费入口 | 午夜视频成人 | 内地av在线 | 欧美综合日韩 | 久久影院一区二区三区 | 亚洲成人福利在线 | 天堂成人一区二区三区 | 亚洲精久久 | av日韩一区二区 | 久久精品一区二区三区四区五区 | 免费一区区三区四区 | 黄色大片免费网站 | 毛片一区二区三区四区 | 精品中文视频 | 免费看a级片 | 欧美成人精品欧美一级 | 中文字幕欧美专区 | 中文字幕www. | 久草在线免费看 | 99re色 |