Python 之 后门程序编写与远程控制_python编写程序对远程主机进行操控

socket套接字

客户端程序 与 服务端程序 链接的默认的框架

服务端 必须有ip地址 端口号 传输协议 状态 监听状态

服务端配置启动

源码 服务端配置内容

#!/usr/local/bin/python3
import socket
​
ip = ""   #我哪个ip开放 空表示所有ip
port = 5000 #我要开的端口
​
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #对象s 使用基于tcp协议的网络套接字
s.bind((ip,port)) #对象s 开始绑定ip和端口
s.listen(1) #启动监听状态
​
conn,addr = s.accept() #当与别人建立连接 addr变量存对方ip  conn 连接的对象
print(addr) #显示对方地址
conn.send(b"welcome")  #给对方发送字符串
data = conn.recv(10240) #接收对方字符串
print(data) #打印对方发来的数据
​
conn.close()  #断开连接
s.close()    #关闭套结字

客户端验证

如果要做到远程控制对方主机

先编写一个客户端程序

import socket
​
ip = "192.168.86.11" #对方服务器ip地址
port = 5000 #对方服务器的端口
​
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #链接对方使用tcp协议 对象建立
c.connect((ip,port))
​
data = c.recv(10240) #接收数据
print(data) #打印
c.send(b"HELLO") #发送数据给对方
​
c.close()

升级客户端和服务 源码 实现 循环交互

服务端源码

#!/usr/local/bin/python3
import socket
​
ip = ""   #我哪个ip开放 空表示所有ip
port = 5000 #我要开的端口
​
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #对象s 使用基于tcp协议的网络套接字
s.bind((ip,port)) #对象s 开始绑定ip和端口
s.listen(1) #启动监听状态
​
conn,addr = s.accept() #当与别人建立连接 addr变量存对方ip  conn 连接的对象
print(addr) #显示对方地址
​
while True:
    data = conn.recv(10240) #接收对方字符串 #如果对方不发数据会卡住
    print(data) #打印对方发来的数据
    conn.send(data)
    if data == b"byebye":
        break
​
conn.close()  #断开连接
s.close()    #关闭套结字

客户端源码

import socket
​
ip = "192.168.86.11" #对方服务器ip地址
port = 5000 #对方服务器的端口
​
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #链接对方使用tcp协议 对象建立
c.connect((ip,port))
​
while True:
    data = input("请输入命令:")
    data = bytes(data,encoding="utf8")
    c.send(data) #发送数据给对方
    data2 = c.recv(10240)
    print(data2)
    if data == b"byebye":
        break
​
c.close()

升级可以控制服务端程序

服务端最终源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值