阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

python入门简单的 c/s远程操作

6次阅读
没有评论

共计 1869 个字符,预计需要花费 5 分钟才能阅读完成。

实现目标:

通过控制端,可以实现 N 台主机执行同一操作。

具体代码如下

1、控制端代码
[root@361way tmp]# vim client.py
#!/usr/bin/env python
import socket,os,sys
ost=sys.argv[1]
▽ort=4567
for host in os.popen('cat ip.list').readlines():
print host
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
while 1:
data=sys.argv[2]
if not data:
break
s.sendall(data)
data=s.recv(1024)
if not data:
break
print data
s.close()
2、被控制端代码
[root@localhost tmp]# vim server.py
#!/usr/bin/env python
import socket,os
host=''
port=4567
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind((host,port))
s.listen(1)
print "Server is running on port %d; press ctrl-c to terminate." % port
while 1:
clientsock,clientaddr=s.accept()
print "connect from %s" % str(clientaddr)
clientfile=clientsock.makefile('rw',0)
data=clientsock.recv(1024)
command=os.popen(data).read()
clientfile.write("%s" % command)
clientfile.close()
clientsock.close()
3、操作方法

ip.list 里写 server 端的 IP 地址,每行一个,如:

1.1.1.1
2.2.2.2

使用方法,将 server.py 部署于目标主机上,执行 server.py;客户端执行 python client.py ip.list “command
“ 即可。示例如下:

[root@361way tmp]# python client.py ip.list ifconfig
192.168.0.106
eth0 Link encap:Ethernet HWaddr 52:54:00:D8:F3:E7
inet addr:192.168.0.106 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::5054:ff:fed8:f3e7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:627 errors:0 dropped:0 overruns:0 frame:0
TX packets:262 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:71041 (69.3 Kb) TX bytes:55281 (53.9 Kb)
192.168.0.110
eth0 Link encap:Ethernet HWaddr 52:54:00:D7:F8:E7
inet addr:192.168.0.110 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::5054:ff:fed7:f8e7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:770 errors:0 dropped:0 overruns:0 frame:0
TX packets:438 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:87223 (85.1 KiB) TX bytes:69993 (68.3 KiB)

代码已放到 github 上。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-12-06发表,共计1869字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中