python - 如何在 python 中获取接收到的数据包的大小(以字节为单位)?
问题描述
我创建了套接字 AF_PACKET 并接收所有包:
conn = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.ntohs(3))
while True:
raw_data, addr = conn.recvfrom(65536)
print(' SIZE = {}'.format(len(raw_data)))
它主要打印 90 和 60,但以太网帧的大小为 1500 字节。获取这些数据包的字节大小的正确函数是什么?
解决方案
该bytes
对象正是它所说的。获取字节对象的长度就是获取它的大小,而字节对象就是套接字返回的内容。你一直都做对了。
推荐阅读
- docker - 使用 JDBC 输入插件在 Docker 上的 Logstash 不会从 SQL Server 获取所有行
- flutter - 如何突出显示我在字符串中搜索的确切单词,而不仅仅是字符串的开头?
- flutter - 如何实时获取文档长度
- javascript - Reactjs 从获取请求中返回一个对象
- javascript - Nginx 正在尝试打开文件而不是重定向到代理
- python - _joint_log_likelihood 给我错误的值
- sql - 如何按日期获取最后一件商品的价格
- python-3.x - 定期执行功能而不停止其他操作
- r - 使用 R 从 PDF 表单到数据框的文本挖掘
- r - 如果 r 中出现错误,则转到 lapply() 的下一次迭代