python 网络连接_python简单网络连接

client端

import socket

sk = socket.socket()

address = (‘172.16.10.1‘,3000)

sk.connect(address)

while True:

inp = input(‘>>>‘)

if inp == ‘exit‘:

break

sk.send(bytes(inp,‘utf8‘))

data = sk.recv(1024)

print(str(data,‘utf8‘))

sk.close()

#client端结果:

>>>约吗

>>>exit

#退出就关闭

server端

import socket

sk = socket.socket()

address = (‘172.16.10.1‘,3000)

sk.bind(address)

sk.listen(3)

print(‘waiting....‘)

while True:

conn,addr = sk.accept()

print(addr)

while True:

try:

data = conn.recv(1024)

except Exception:

break

print(str(data,‘utf8‘))

if not data:

conn.close()

break

inp = input(‘>>>‘)

conn.send(bytes(inp,‘utf8‘))

sk.close()

#server端结果:

waiting....

(‘172.16.10.1‘, 52407)

你好

>>>你好啊

约吗

>>>滚

(‘172.16.10.1‘, 52416)

约吗

>>>滚

#服务端只是断开1个通话,服务部断

远程命令执行

server端

import socket

import subprocess

sk = socket.socket()

address = (‘172.16.10.1‘,3000)

sk.bind(address)

sk.listen(3)

print(‘waiting....‘)

while 1:

conn,addr = sk.accept()

print(addr)

while True:

try:

data = conn.recv(1024)

except Exception:

break

print(str(data,‘utf8‘))

if not data:

conn.close()

break

#int和bytes格式不能互转,要用str做桥梁

obj = subprocess.Popen(str(data,‘utf8‘),shell=True,stdout=subprocess.PIPE)

# inp = input(‘>>>‘)

# conn.send(bytes(inp,‘utf8‘))

cmd_result = obj.stdout.read()

result_len =bytes(str(len(cmd_result)),‘utf8‘)

conn.sendall(result_len)#连续发送数据容易出现粘包现象

conn.recv(1024)

conn.sendall(cmd_result)

sk.close()

#结果:

waiting....

(‘172.16.10.1‘, 52457)

cd

dir

ipconfig

arp -a

client端

import socket

sk = socket.socket()

address = (‘172.16.10.1‘,3000)

sk.connect(address)

while True:

inp = input(‘>>>‘)

if inp == ‘exit‘:

break

sk.send(bytes(inp,‘utf8‘))

#接收server端执行命令结果的长度

len_result = int(str(sk.recv(1024),‘utf8‘))

sk.send(bytes(‘ok‘,‘utf8‘))

print(len_result)

#初始化data

data = bytes()

#判断服务端的结果长度和客户端接收的长度,当两个相等时,代表数据接收完,退出循环

while len(data) != len_result:

rev = sk.recv(1024)

data += rev

print(str(data,‘GBK‘))

sk.close()

#结果:

>>>cd

39

E:\python\fullstack_s2\weeks2\network

>>>dir

522

驱动器 E 中的卷没有标签。

卷的序列号是 8A5F-14B9

E:\python\fullstack_s2\weeks2\network 的目录

2020/01/12 15:49

2020/01/12 15:49

2020/01/12 13:47 311 client.py

2020/01/12 15:49 462 cmd_client.py

2020/01/12 15:48 778 cmd_server.py

2020/01/12 14:10 509 serve.py

2020/01/12 12:53 29 __init__.py

5 个文件 2,089 字节

2 个目录 252,812,263,424 可用字节

>>>ipconfig

1396

Windows IP 配置

以太网适配器 以太网:

媒体状态 . . . . . . . . . . . . : 媒体已断开连接

连接特定的 DNS 后缀 . . . . . . . : ggec.gd

无线局域网适配器 本地连接* 1:

媒体状态 . . . . . . . . . . . . : 媒体已断开连接

连接特定的 DNS 后缀 . . . . . . . :

以太网适配器 以太网 2:

连接特定的 DNS 后缀 . . . . . . . :

本地链接 IPv6 地址. . . . . . . . : fe80::71cc:5ef5:54e3:fafd%3

IPv4 地址 . . . . . . . . . . . . : 172.16.10.1

子网掩码 . . . . . . . . . . . . : 255.255.0.0

默认网关. . . . . . . . . . . . . :

以太网适配器 以太网 3:

连接特定的 DNS 后缀 . . . . . . . :

本地链接 IPv6 地址. . . . . . . . : fe80::9cd2:ebb:a9a6:7d56%11

IPv4 地址 . . . . . . . . . . . . : 192.168.20.1

子网掩码 . . . . . . . . . . . . : 255.255.255.0

默认网关. . . . . . . . . . . . . :

以太网适配器 SSTAP 1:

媒体状态 . . . . . . . . . . . . : 媒体已断开连接

连接特定的 DNS 后缀 . . . . . . . :

无线局域网适配器 WLAN:

连接特定的 DNS 后缀 . . . . . . . :

本地链接 IPv6 地址. . . . . . . . : fe80::3523:8fd2:2c30:3800%2

IPv4 地址 . . . . . . . . . . . . : 192.168.0.139

子网掩码 . . . . . . . . . . . . : 255.255.255.0

默认网关. . . . . . . . . . . . . : 192.168.0.1

以太网适配器 蓝牙网络连接:

媒体状态 . . . . . . . . . . . . : 媒体已断开连接

连接特定的 DNS 后缀 . . . . . . . :

>>>arp -a

2046

接口: 192.168.0.139 --- 0x2

Internet 地址 物理地址 类型

192.168.0.1 20-6b-e7-6b-5e-00 动态

192.168.0.115 48-95-07-ca-f6-57 动态

192.168.0.117 9c-fb-d5-31-0e-68 动态

192.168.0.144 00-e0-70-1e-1c-0f 动态

192.168.0.183 60-21-01-4c-c1-03

原文:https://blog.51cto.com/13528668/2466225

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值