温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

socket_远程工具_linux环境

发布时间:2020-08-07 16:45:29 来源:网络 阅读:228 作者:leiwenbin627 栏目:编程语言

#-*-coding:utf-8-*-
import socket,os
server=socket.socket()
server.bind((
'localhost',6969)) #绑定要监听的端口
print("正在监听端口")
server.listen(
5)              #监听

print("我要开始等电话了")
while True:
    server.listen(
3)
    conn, addr = server.accept() 
# 等电话打进来
   
print(conn)  # conn就是客户端连过来而在服务端为其生成的一个连接实例

   
print("电话来了")
   
while True:

        data=conn.recv(
1024) #通过conn连接实例接收数据
       
print("recv:",data)
       
if not data:
           
print("client has lost...")
           
break
       
res=os.popen(data).read()
        conn.send(res)
#通过conn连接实例发送数据 send根据系统缓存大小,一般32K
server.close()

#-*-coding:utf-8-*-
import socket
client=socket.socket()
#默认famliy=AF_INET(ipv4)地址簇  type=SOCK_STREAM (tcp/ip) 声明socket类型,同时生成socket连接对象
client.connect(("localhost",6969))

while True:
    msg=raw_input(
"请输入:").strip()  #不能发送空数据
   
if len(msg)==0:continue    #如果msg长度为0,就继续 ,重新发
   
client.send(msg.encode("utf-8")) #3.x 只能发bytes类型数据,只能接收ASCII数据,汉字不行,要发汉字只能编码成utf-8格式
   
data=client.recv(102400) #102400字节数据
   
print(data.decode("utf-8")) #bytes类型打印出来要解码

client.close()

 

#import os
#>>> a=os.popen("df")
#>>> b=os.popen("df").read()
#>>> print(b)
import os
a=os.popen(
"ipconfig"#命令的执行结果通过管道输出,执行的结果生成是一个对象
print(a)
b=a.read()
#命令的执行结果通过管道输出,并把输出的结果通过read读出来
print(b)


 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI