Python网络编程攻略1.5 通过指定的端口和协议找到服务名_Python网络编程攻略1.5 通过指定的端口和协议找到服务名试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > web > Python网络编程攻略 > 1.5 通过指定的端口和协议找到服务名

Python网络编程攻略——1.5 通过指定的端口和协议找到服务名

如果想找到网络服务,最好知道该服务运行在TCP或UDP协议的哪个端口上。 1.5.1 准备工作 如果知道网络服务使用的端口,可以调用socket库中的getservbyport()函数来获取服务的名字。调用这个函数时可以根据情况决定是否提供协议名。 1.5.2 实战演练 我们来定义find_service_name()函数,在Python的for-in循环中调用函数getservbyport(),解析几个端口,例如80和25。 代码清单1-4展示了如何定义find_service_name()函数,如下所示: #!/usr/bin/env python # Python Network Programming Cookbook -- Chapter - 1 # This program is optimized for Python 2.7. # It may run on any other version with/without modifications. import socket def find_service_name(): protocolname = 'tcp' for port in [80, 25]: print "Port: %s => service name: %s" %(port, socket.getservbyport(port, protocolname)) print "Port: %s => service name: %s" %(53, socket.getservbyport(53, 'udp')) if __name__ == '__main__': find_service_name() 运行这个脚本,会看到如下输出: $ python 1_4_finding_service_name.py Port: 80 => service name: http Port: 25 => service name: smtp Port: 53 => service name: domain 1.5.3 原理分析 在这个攻略中,使用for-in语句遍历一组变量。在每次遍历中,获取端口对应的服务名。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Python网络编程攻略》其他试读目录

• 1.1 简介
• 1.2 打印设备名和IPv4地址
• 1.3 获取远程设备的IP地址
• 1.4 将IPv4地址转换成不同的格式
• 1.5 通过指定的端口和协议找到服务名 [当前]
• 1.6 主机字节序和网络字节序之间相互转换
• 1.7 设定并获取默认的套接字超时时间
• 1.8 优雅地处理套接字错误
• 1.9 修改套接字发送和接收的缓冲区大小
• 1.10 把套接字改成阻塞或非阻塞模式
• 1.11 重用套接字地址
• 1.12 从网络时间服务器获取并打印当前时间
• 1.13 编写一个SNTP客户端
• 1.14 编写一个简单的回显客户端/服务器应用
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •