网络协议分析与零配置网络利用
1. DICOM协议分析
1.1 基本网络I/O操作
在网络编程中, send(dcm, data) 和 receive(dcm) 函数分别使用Nmap套接字函数 send() 和 receive() 。它们通过访问存储在 dcm['socket'] 变量中的连接句柄,在套接字上读写DICOM数据包。同时, stdnse.debug[1 - 9] 调用可在Nmap以调试标志 -d 运行时打印调试语句,例如使用 stdnse.debug2() 会在调试级别设置为2或更高时打印信息。
1.2 创建DICOM数据包头部
DICOM协议数据单元(PDU)使用头部来指示其类型和长度。在Nmap脚本引擎中,使用字符串存储字节流,并使用 string.pack() 和 string.unpack() 函数进行信息的编码和检索,这需要熟悉Lua的格式字符串,具体可参考:https://www.lua.org/manual/5.3/manual.html#6.4.2。以下是编码DICOM PDU头部的函数:
---
-- pdu_header_encode(pdu_type, length) encodes the DICOM PDU header
--
-- @para
超级会员免费看
订阅专栏 解锁全文
6万+

被折叠的 条评论
为什么被折叠?



