python C/S模式基础编程 (网络安全系列)

1. socket编程

socket类型包括:

——TCP socket 和 UDP socket。

  • 常规的客户服务区模式。

——Raw socket

  • 可用于嗅探和注入

2. C/S模式

  C/S (Client/Server,客户机/服务器)模式又称C/S结构,是20世纪80年代末逐步成长起来的一种模式,是软件系统体系结构的一种。C/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。
  python C/S模式基础编程 (网络安全系列)_第1张图片

3.python c/s 编程

  server部分代码:
  

#!/usr/bin/env python
# _*_ coding:utf-8 _*_

import socket

tcpSock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcpSock.bind(("0.0.0.0",8080))
tcpSock.listen(5)

print '等待客户端连接... ...'

(client,(ip,sock)) = tcpSock.accept()

print '建立起一个连接,对方IP为:', ip

print '开始接收数据... ...'

data = 'start'

while len(data):
    data = client.recv(2048)
    print '接收到的数据: ', data
    client.send('return data:'+data)

print '关闭连接... ... '
client.close()

print '关闭服务... ...'
tcpSock.close()

运行server端python程序,并用一下命令进行测试:

nc 192.168.1.95 8080

server响应:

python C/S模式基础编程 (网络安全系列)_第2张图片

client测试:

python C/S模式基础编程 (网络安全系列)_第3张图片

4. 针对client的选项

  • 按顺序依次处理
  • 多线程服务端
  • 多进程服务端
  • 非阻塞模式的socket(使用select)

你可能感兴趣的:(socket,python,c-s模式)