gpt4 book ai didi

python - 如何使用 python 将协议(protocol)号转换为名称?

转载 作者:太空狗 更新时间:2023-10-29 23:57:54 26 4
gpt4 key购买 nike

tcp、udp等协议(protocol)都是用数字表示的。

import socket
socket.getprotocobyname('tcp')

以上代码将返回 6。

如果知道协议(protocol)号,如何获取协议(protocol)名称?

最佳答案

我要说几乎肯定有比这更好的方法,但是所有协议(protocol)名称(和值)都存储为前缀为 "IPPROTO_" 的常量,因此您可以创建查找通过迭代模块中的值来表:

import socket
prefix = "IPPROTO_"
table = {num:name[len(prefix):]
for name,num in vars(socket).items()
if name.startswith(prefix)}

assert table[6] == 'TCP'
assert table[0x11] == 'UDP'
print(len(table)) # in python 3.10.0 this has 30 entries
from pprint import pprint
pprint(table) # if you want to see what is available to you

关于python - 如何使用 python 将协议(protocol)号转换为名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37004965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com