目前我的工作是在一家开发并生产网络安全设备的公司做测试,在工作过程中要与各种协议(ftp,smtp,pop3,tcp,udp,http)打交道,并且在工作过程中还会涉及到性能测试及自动化测试,所以打算趁着现在工作的机会,可以把python应用到日常的工作中。ok,废话不说了,进入正题了。
python提供了访问底层操作系统Socket的全部方法,还提供了一些用于加密和认证通信的服务,如SSL/TLS。
在建立socket对象的时候,需要告诉系统两件事情:通信类型(IPv4, IPv6等)和协议(规定数据如何被传输)。
对于现阶段而言,通信类型基本上都是AF_INET(IPv4),协议一般表示TCP通信的SOCK_STREAM和UDP通信的SOCK_DGRAM。
建立一个socket的代码:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)连接socket, 需要提供一个包含远程主机名或IP地址和远程端口,代码如下:
s.connect(("www.google.com", 80))下面代码的功能是建立一个连接,并马上终止:
import socket print “Creating socket......” s = socket.sockt(socket.AF_INET, socjet.SOCK_STREAM) print "done." print "Connecting to remote host......" s.connect(("www.google.com", 80)) print "done....."