python 網路連線 python簡單網路連線

2021-10-25 19:24:07 字數 4468 閱讀 5542

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)

cddir

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

e:\python\fullstack_s2\weeks2\network

>>>dir

驅動器 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

windows ip 配置

乙太網介面卡 乙太網:

**狀態 . . . . . . . . . . . . : **已斷開連線

連線特定的 dns 字尾 . . . . . . . : ggec.gd

無線區域網介面卡 本地連線* 1:

**狀態 . . . . . . . . . . . . : **已斷開連線

連線特定的 dns 字尾 . . . . . . . :

乙太網介面卡 乙太網 2:

連線特定的 dns 字尾 . . . . . . . :

ipv4 位址 . . . . . . . . . . . . : 172.16.10.1

子網掩碼 . . . . . . . . . . . . : 255.255.0.0

預設閘道器. . . . . . . . . . . . . :

乙太網介面卡 乙太網 3:

連線特定的 dns 字尾 . . . . . . . :

ipv4 位址 . . . . . . . . . . . . : 192.168.20.1

子網掩碼 . . . . . . . . . . . . : 255.255.255.0

預設閘道器. . . . . . . . . . . . . :

乙太網介面卡 sstap 1:

**狀態 . . . . . . . . . . . . : **已斷開連線

連線特定的 dns 字尾 . . . . . . . :

無線區域網介面卡 wlan:

連線特定的 dns 字尾 . . . . . . . :

ipv4 位址 . . . . . . . . . . . . : 192.168.0.139

子網掩碼 . . . . . . . . . . . . : 255.255.255.0

預設閘道器. . . . . . . . . . . . . : 192.168.0.1

乙太網介面卡 藍芽網路連線:

**狀態 . . . . . . . . . . . . : **已斷開連線

連線特定的 dns 字尾 . . . . . . . :

>>>arp -a

介面: 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

原文:

python網路連線練習

服務端 usr bin env python3 匯入socket sys模組 import socket import sys 建立socket物件 serversocket socket.socket socket.af inet,socket.sock stream 獲取本地主機名 host s...

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 ...

GG 網路連線。

www.google.com 還有 maps.google.com 又不能訪問了。不太相信是 google 自身的技術原因。m 之類的競爭對手也不至於在新的瀏覽器裡採取什麼手段。真不知道怎麼揣測了。不知道是不是有 高能強智 的干擾項在起作用。這種技術在今天的這裡好像已經很成熟的樣子了。以前,還可以用...