@netkitty/codec 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/LICENSE +21 -0
  3. package/README.md +352 -0
  4. package/README.zh-CN.md +342 -0
  5. package/dist/Codec.d.ts +133 -0
  6. package/dist/Codec.js +632 -0
  7. package/dist/PacketHeaders.d.ts +189 -0
  8. package/dist/PacketHeaders.js +384 -0
  9. package/dist/abstracts/BaseHeader.d.ts +325 -0
  10. package/dist/abstracts/BaseHeader.js +734 -0
  11. package/dist/errors/CodecSchemaValidateError.d.ts +4 -0
  12. package/dist/errors/CodecSchemaValidateError.js +11 -0
  13. package/dist/headers/ADSAMS.d.ts +33 -0
  14. package/dist/headers/ADSAMS.js +208 -0
  15. package/dist/headers/AH.d.ts +28 -0
  16. package/dist/headers/AH.js +137 -0
  17. package/dist/headers/AMQP.d.ts +31 -0
  18. package/dist/headers/AMQP.js +316 -0
  19. package/dist/headers/ARP.d.ts +26 -0
  20. package/dist/headers/ARP.js +243 -0
  21. package/dist/headers/BACnetIP.d.ts +27 -0
  22. package/dist/headers/BACnetIP.js +97 -0
  23. package/dist/headers/BFD.d.ts +28 -0
  24. package/dist/headers/BFD.js +155 -0
  25. package/dist/headers/BGP.d.ts +27 -0
  26. package/dist/headers/BGP.js +111 -0
  27. package/dist/headers/BSAPIP.d.ts +33 -0
  28. package/dist/headers/BSAPIP.js +78 -0
  29. package/dist/headers/Babel.d.ts +32 -0
  30. package/dist/headers/Babel.js +224 -0
  31. package/dist/headers/BitTorrent.d.ts +28 -0
  32. package/dist/headers/BitTorrent.js +72 -0
  33. package/dist/headers/C37118.d.ts +26 -0
  34. package/dist/headers/C37118.js +147 -0
  35. package/dist/headers/CAPWAP.d.ts +38 -0
  36. package/dist/headers/CAPWAP.js +275 -0
  37. package/dist/headers/CDP.d.ts +25 -0
  38. package/dist/headers/CDP.js +117 -0
  39. package/dist/headers/CMS.d.ts +33 -0
  40. package/dist/headers/CMS.js +238 -0
  41. package/dist/headers/COTP.d.ts +30 -0
  42. package/dist/headers/COTP.js +193 -0
  43. package/dist/headers/CassandraCQL.d.ts +28 -0
  44. package/dist/headers/CassandraCQL.js +117 -0
  45. package/dist/headers/CoAP.d.ts +29 -0
  46. package/dist/headers/CoAP.js +140 -0
  47. package/dist/headers/Codesys.d.ts +32 -0
  48. package/dist/headers/Codesys.js +119 -0
  49. package/dist/headers/Collectd.d.ts +29 -0
  50. package/dist/headers/Collectd.js +154 -0
  51. package/dist/headers/DCCP.d.ts +30 -0
  52. package/dist/headers/DCCP.js +204 -0
  53. package/dist/headers/DHCP.d.ts +26 -0
  54. package/dist/headers/DHCP.js +148 -0
  55. package/dist/headers/DHCPFailover.d.ts +30 -0
  56. package/dist/headers/DHCPFailover.js +104 -0
  57. package/dist/headers/DHCPv6.d.ts +25 -0
  58. package/dist/headers/DHCPv6.js +145 -0
  59. package/dist/headers/DNP3.d.ts +27 -0
  60. package/dist/headers/DNP3.js +150 -0
  61. package/dist/headers/DNS.d.ts +55 -0
  62. package/dist/headers/DNS.js +309 -0
  63. package/dist/headers/DTLS.d.ts +33 -0
  64. package/dist/headers/DTLS.js +142 -0
  65. package/dist/headers/Diameter.d.ts +34 -0
  66. package/dist/headers/Diameter.js +229 -0
  67. package/dist/headers/EAPOL.d.ts +32 -0
  68. package/dist/headers/EAPOL.js +135 -0
  69. package/dist/headers/EIGRP.d.ts +28 -0
  70. package/dist/headers/EIGRP.js +165 -0
  71. package/dist/headers/ENIP.d.ts +31 -0
  72. package/dist/headers/ENIP.js +164 -0
  73. package/dist/headers/ESP.d.ts +27 -0
  74. package/dist/headers/ESP.js +140 -0
  75. package/dist/headers/Elasticsearch.d.ts +30 -0
  76. package/dist/headers/Elasticsearch.js +125 -0
  77. package/dist/headers/EtherCAT.d.ts +35 -0
  78. package/dist/headers/EtherCAT.js +150 -0
  79. package/dist/headers/EthernetII.d.ts +28 -0
  80. package/dist/headers/EthernetII.js +117 -0
  81. package/dist/headers/FCoE.d.ts +38 -0
  82. package/dist/headers/FCoE.js +210 -0
  83. package/dist/headers/FTP.d.ts +34 -0
  84. package/dist/headers/FTP.js +158 -0
  85. package/dist/headers/Finger.d.ts +41 -0
  86. package/dist/headers/Finger.js +135 -0
  87. package/dist/headers/FoundationFieldbusHSE.d.ts +43 -0
  88. package/dist/headers/FoundationFieldbusHSE.js +163 -0
  89. package/dist/headers/GELF.d.ts +35 -0
  90. package/dist/headers/GELF.js +261 -0
  91. package/dist/headers/GENEVE.d.ts +26 -0
  92. package/dist/headers/GENEVE.js +209 -0
  93. package/dist/headers/GESRTP.d.ts +32 -0
  94. package/dist/headers/GESRTP.js +141 -0
  95. package/dist/headers/GLBP.d.ts +29 -0
  96. package/dist/headers/GLBP.js +159 -0
  97. package/dist/headers/GRE.d.ts +27 -0
  98. package/dist/headers/GRE.js +181 -0
  99. package/dist/headers/GTPU.d.ts +25 -0
  100. package/dist/headers/GTPU.js +203 -0
  101. package/dist/headers/GTPv2C.d.ts +30 -0
  102. package/dist/headers/GTPv2C.js +281 -0
  103. package/dist/headers/GitProtocol.d.ts +34 -0
  104. package/dist/headers/GitProtocol.js +141 -0
  105. package/dist/headers/Goose.d.ts +115 -0
  106. package/dist/headers/Goose.js +1067 -0
  107. package/dist/headers/Gopher.d.ts +43 -0
  108. package/dist/headers/Gopher.js +182 -0
  109. package/dist/headers/HARTIP.d.ts +30 -0
  110. package/dist/headers/HARTIP.js +145 -0
  111. package/dist/headers/HSR.d.ts +27 -0
  112. package/dist/headers/HSR.js +105 -0
  113. package/dist/headers/HSRP.d.ts +26 -0
  114. package/dist/headers/HSRP.js +173 -0
  115. package/dist/headers/HTTP.d.ts +32 -0
  116. package/dist/headers/HTTP.js +153 -0
  117. package/dist/headers/HTTP2.d.ts +34 -0
  118. package/dist/headers/HTTP2.js +190 -0
  119. package/dist/headers/IAX2.d.ts +33 -0
  120. package/dist/headers/IAX2.js +274 -0
  121. package/dist/headers/ICMP.d.ts +15 -0
  122. package/dist/headers/ICMP.js +148 -0
  123. package/dist/headers/ICMPv6.d.ts +15 -0
  124. package/dist/headers/ICMPv6.js +129 -0
  125. package/dist/headers/IEC104_I_Frame.d.ts +23 -0
  126. package/dist/headers/IEC104_I_Frame.js +6489 -0
  127. package/dist/headers/IEC104_S_Frame.d.ts +26 -0
  128. package/dist/headers/IEC104_S_Frame.js +135 -0
  129. package/dist/headers/IEC104_U_Frame.d.ts +27 -0
  130. package/dist/headers/IEC104_U_Frame.js +176 -0
  131. package/dist/headers/IEC61850SampledValues.d.ts +20 -0
  132. package/dist/headers/IEC61850SampledValues.js +420 -0
  133. package/dist/headers/IGMP.d.ts +31 -0
  134. package/dist/headers/IGMP.js +274 -0
  135. package/dist/headers/IMAP.d.ts +32 -0
  136. package/dist/headers/IMAP.js +185 -0
  137. package/dist/headers/IPFIX.d.ts +29 -0
  138. package/dist/headers/IPFIX.js +156 -0
  139. package/dist/headers/IPv4.d.ts +20 -0
  140. package/dist/headers/IPv4.js +370 -0
  141. package/dist/headers/IPv6.d.ts +29 -0
  142. package/dist/headers/IPv6.js +209 -0
  143. package/dist/headers/IPv6HopByHopOptions.d.ts +81 -0
  144. package/dist/headers/IPv6HopByHopOptions.js +495 -0
  145. package/dist/headers/IRC.d.ts +34 -0
  146. package/dist/headers/IRC.js +175 -0
  147. package/dist/headers/ISAKMP.d.ts +29 -0
  148. package/dist/headers/ISAKMP.js +197 -0
  149. package/dist/headers/ISCSI.d.ts +39 -0
  150. package/dist/headers/ISCSI.js +289 -0
  151. package/dist/headers/ISIS.d.ts +25 -0
  152. package/dist/headers/ISIS.js +79 -0
  153. package/dist/headers/ISOSession.d.ts +27 -0
  154. package/dist/headers/ISOSession.js +343 -0
  155. package/dist/headers/Ident.d.ts +42 -0
  156. package/dist/headers/Ident.js +184 -0
  157. package/dist/headers/KNXnetIP.d.ts +30 -0
  158. package/dist/headers/KNXnetIP.js +135 -0
  159. package/dist/headers/Kafka.d.ts +35 -0
  160. package/dist/headers/Kafka.js +128 -0
  161. package/dist/headers/Kerberos.d.ts +30 -0
  162. package/dist/headers/Kerberos.js +217 -0
  163. package/dist/headers/L2TP.d.ts +26 -0
  164. package/dist/headers/L2TP.js +297 -0
  165. package/dist/headers/LACP.d.ts +31 -0
  166. package/dist/headers/LACP.js +151 -0
  167. package/dist/headers/LDAP.d.ts +31 -0
  168. package/dist/headers/LDAP.js +226 -0
  169. package/dist/headers/LDP.d.ts +31 -0
  170. package/dist/headers/LDP.js +138 -0
  171. package/dist/headers/LISP.d.ts +30 -0
  172. package/dist/headers/LISP.js +103 -0
  173. package/dist/headers/LLC.d.ts +27 -0
  174. package/dist/headers/LLC.js +81 -0
  175. package/dist/headers/LLDP.d.ts +26 -0
  176. package/dist/headers/LLDP.js +126 -0
  177. package/dist/headers/LLMNR.d.ts +23 -0
  178. package/dist/headers/LLMNR.js +40 -0
  179. package/dist/headers/LPD.d.ts +31 -0
  180. package/dist/headers/LPD.js +159 -0
  181. package/dist/headers/MACsec.d.ts +34 -0
  182. package/dist/headers/MACsec.js +178 -0
  183. package/dist/headers/MDNS.d.ts +26 -0
  184. package/dist/headers/MDNS.js +45 -0
  185. package/dist/headers/MGCP.d.ts +30 -0
  186. package/dist/headers/MGCP.js +155 -0
  187. package/dist/headers/MMS.d.ts +29 -0
  188. package/dist/headers/MMS.js +243 -0
  189. package/dist/headers/MPLS.d.ts +31 -0
  190. package/dist/headers/MPLS.js +145 -0
  191. package/dist/headers/MQTT.d.ts +30 -0
  192. package/dist/headers/MQTT.js +173 -0
  193. package/dist/headers/MQTTSN.d.ts +34 -0
  194. package/dist/headers/MQTTSN.js +177 -0
  195. package/dist/headers/MarkerProtocol.d.ts +32 -0
  196. package/dist/headers/MarkerProtocol.js +153 -0
  197. package/dist/headers/Megaco.d.ts +32 -0
  198. package/dist/headers/Megaco.js +144 -0
  199. package/dist/headers/Memcached.d.ts +44 -0
  200. package/dist/headers/Memcached.js +285 -0
  201. package/dist/headers/ModbusTCP.d.ts +25 -0
  202. package/dist/headers/ModbusTCP.js +99 -0
  203. package/dist/headers/ModbusUDP.d.ts +26 -0
  204. package/dist/headers/ModbusUDP.js +100 -0
  205. package/dist/headers/MongoDB.d.ts +33 -0
  206. package/dist/headers/MongoDB.js +143 -0
  207. package/dist/headers/MySQL.d.ts +30 -0
  208. package/dist/headers/MySQL.js +114 -0
  209. package/dist/headers/NATS.d.ts +29 -0
  210. package/dist/headers/NATS.js +135 -0
  211. package/dist/headers/NBDS.d.ts +34 -0
  212. package/dist/headers/NBDS.js +176 -0
  213. package/dist/headers/NBNS.d.ts +34 -0
  214. package/dist/headers/NBNS.js +78 -0
  215. package/dist/headers/NBSS.d.ts +36 -0
  216. package/dist/headers/NBSS.js +137 -0
  217. package/dist/headers/NFS.d.ts +36 -0
  218. package/dist/headers/NFS.js +273 -0
  219. package/dist/headers/NHRP.d.ts +32 -0
  220. package/dist/headers/NHRP.js +154 -0
  221. package/dist/headers/NNTP.d.ts +35 -0
  222. package/dist/headers/NNTP.js +162 -0
  223. package/dist/headers/NTP.d.ts +18 -0
  224. package/dist/headers/NTP.js +73 -0
  225. package/dist/headers/NetFlowV5.d.ts +28 -0
  226. package/dist/headers/NetFlowV5.js +205 -0
  227. package/dist/headers/OLSR.d.ts +31 -0
  228. package/dist/headers/OLSR.js +213 -0
  229. package/dist/headers/OPCUA.d.ts +33 -0
  230. package/dist/headers/OPCUA.js +165 -0
  231. package/dist/headers/OPCUAPubSub.d.ts +33 -0
  232. package/dist/headers/OPCUAPubSub.js +144 -0
  233. package/dist/headers/OSPF.d.ts +31 -0
  234. package/dist/headers/OSPF.js +365 -0
  235. package/dist/headers/OmronFINS.d.ts +31 -0
  236. package/dist/headers/OmronFINS.js +90 -0
  237. package/dist/headers/OpenFlow.d.ts +30 -0
  238. package/dist/headers/OpenFlow.js +113 -0
  239. package/dist/headers/OpenVPN.d.ts +35 -0
  240. package/dist/headers/OpenVPN.js +214 -0
  241. package/dist/headers/PCWorx.d.ts +35 -0
  242. package/dist/headers/PCWorx.js +115 -0
  243. package/dist/headers/PIM.d.ts +27 -0
  244. package/dist/headers/PIM.js +129 -0
  245. package/dist/headers/POP3.d.ts +31 -0
  246. package/dist/headers/POP3.js +152 -0
  247. package/dist/headers/POWERLINK.d.ts +28 -0
  248. package/dist/headers/POWERLINK.js +116 -0
  249. package/dist/headers/PPPoEDiscovery.d.ts +29 -0
  250. package/dist/headers/PPPoEDiscovery.js +198 -0
  251. package/dist/headers/PPPoESession.d.ts +28 -0
  252. package/dist/headers/PPPoESession.js +125 -0
  253. package/dist/headers/PPTP.d.ts +30 -0
  254. package/dist/headers/PPTP.js +122 -0
  255. package/dist/headers/PROFINETRT.d.ts +28 -0
  256. package/dist/headers/PROFINETRT.js +74 -0
  257. package/dist/headers/PTP.d.ts +34 -0
  258. package/dist/headers/PTP.js +213 -0
  259. package/dist/headers/PostgreSQL.d.ts +40 -0
  260. package/dist/headers/PostgreSQL.js +236 -0
  261. package/dist/headers/QUIC.d.ts +34 -0
  262. package/dist/headers/QUIC.js +308 -0
  263. package/dist/headers/RADIUS.d.ts +24 -0
  264. package/dist/headers/RADIUS.js +138 -0
  265. package/dist/headers/RDP.d.ts +27 -0
  266. package/dist/headers/RDP.js +93 -0
  267. package/dist/headers/RFB.d.ts +39 -0
  268. package/dist/headers/RFB.js +151 -0
  269. package/dist/headers/RGoose.d.ts +72 -0
  270. package/dist/headers/RGoose.js +340 -0
  271. package/dist/headers/RIP.d.ts +29 -0
  272. package/dist/headers/RIP.js +133 -0
  273. package/dist/headers/RIPng.d.ts +26 -0
  274. package/dist/headers/RIPng.js +140 -0
  275. package/dist/headers/RMCP.d.ts +26 -0
  276. package/dist/headers/RMCP.js +155 -0
  277. package/dist/headers/RSVP.d.ts +31 -0
  278. package/dist/headers/RSVP.js +263 -0
  279. package/dist/headers/RTCP.d.ts +34 -0
  280. package/dist/headers/RTCP.js +217 -0
  281. package/dist/headers/RTP.d.ts +33 -0
  282. package/dist/headers/RTP.js +291 -0
  283. package/dist/headers/RTPS.d.ts +33 -0
  284. package/dist/headers/RTPS.js +182 -0
  285. package/dist/headers/RTSP.d.ts +36 -0
  286. package/dist/headers/RTSP.js +184 -0
  287. package/dist/headers/RawData.d.ts +17 -0
  288. package/dist/headers/RawData.js +43 -0
  289. package/dist/headers/Redis.d.ts +32 -0
  290. package/dist/headers/Redis.js +202 -0
  291. package/dist/headers/Rlogin.d.ts +42 -0
  292. package/dist/headers/Rlogin.js +139 -0
  293. package/dist/headers/Rsync.d.ts +28 -0
  294. package/dist/headers/Rsync.js +117 -0
  295. package/dist/headers/S7comm.d.ts +36 -0
  296. package/dist/headers/S7comm.js +244 -0
  297. package/dist/headers/SCTP.d.ts +35 -0
  298. package/dist/headers/SCTP.js +174 -0
  299. package/dist/headers/SFlow.d.ts +29 -0
  300. package/dist/headers/SFlow.js +242 -0
  301. package/dist/headers/SIP.d.ts +27 -0
  302. package/dist/headers/SIP.js +146 -0
  303. package/dist/headers/SLMP.d.ts +36 -0
  304. package/dist/headers/SLMP.js +154 -0
  305. package/dist/headers/SLP.d.ts +30 -0
  306. package/dist/headers/SLP.js +207 -0
  307. package/dist/headers/SLPv1.d.ts +32 -0
  308. package/dist/headers/SLPv1.js +138 -0
  309. package/dist/headers/SMB1.d.ts +37 -0
  310. package/dist/headers/SMB1.js +200 -0
  311. package/dist/headers/SMB2.d.ts +36 -0
  312. package/dist/headers/SMB2.js +203 -0
  313. package/dist/headers/SMPP.d.ts +33 -0
  314. package/dist/headers/SMPP.js +119 -0
  315. package/dist/headers/SMTP.d.ts +33 -0
  316. package/dist/headers/SMTP.js +157 -0
  317. package/dist/headers/SNAP.d.ts +22 -0
  318. package/dist/headers/SNAP.js +68 -0
  319. package/dist/headers/SNMP.d.ts +28 -0
  320. package/dist/headers/SNMP.js +302 -0
  321. package/dist/headers/SOCKS4.d.ts +42 -0
  322. package/dist/headers/SOCKS4.js +302 -0
  323. package/dist/headers/SOCKS5.d.ts +45 -0
  324. package/dist/headers/SOCKS5.js +223 -0
  325. package/dist/headers/SSDP.d.ts +27 -0
  326. package/dist/headers/SSDP.js +161 -0
  327. package/dist/headers/SSH.d.ts +44 -0
  328. package/dist/headers/SSH.js +274 -0
  329. package/dist/headers/STOMP.d.ts +48 -0
  330. package/dist/headers/STOMP.js +177 -0
  331. package/dist/headers/STP.d.ts +26 -0
  332. package/dist/headers/STP.js +150 -0
  333. package/dist/headers/STUN.d.ts +25 -0
  334. package/dist/headers/STUN.js +183 -0
  335. package/dist/headers/SercosIII.d.ts +43 -0
  336. package/dist/headers/SercosIII.js +199 -0
  337. package/dist/headers/Skinny.d.ts +32 -0
  338. package/dist/headers/Skinny.js +139 -0
  339. package/dist/headers/StatsD.d.ts +27 -0
  340. package/dist/headers/StatsD.js +134 -0
  341. package/dist/headers/SunRPC.d.ts +34 -0
  342. package/dist/headers/SunRPC.js +268 -0
  343. package/dist/headers/Syslog.d.ts +21 -0
  344. package/dist/headers/Syslog.js +91 -0
  345. package/dist/headers/TCP.d.ts +19 -0
  346. package/dist/headers/TCP.js +905 -0
  347. package/dist/headers/TFTP.d.ts +28 -0
  348. package/dist/headers/TFTP.js +224 -0
  349. package/dist/headers/TLS_Alert.d.ts +24 -0
  350. package/dist/headers/TLS_Alert.js +639 -0
  351. package/dist/headers/TLS_ApplicationData.d.ts +24 -0
  352. package/dist/headers/TLS_ApplicationData.js +170 -0
  353. package/dist/headers/TLS_ChangeCipherSpec.d.ts +23 -0
  354. package/dist/headers/TLS_ChangeCipherSpec.js +168 -0
  355. package/dist/headers/TLS_Handshake.d.ts +65 -0
  356. package/dist/headers/TLS_Handshake.js +860 -0
  357. package/dist/headers/TLS_Heartbeat.d.ts +27 -0
  358. package/dist/headers/TLS_Heartbeat.js +247 -0
  359. package/dist/headers/TPKT.d.ts +26 -0
  360. package/dist/headers/TPKT.js +99 -0
  361. package/dist/headers/TacacsPlus.d.ts +27 -0
  362. package/dist/headers/TacacsPlus.js +133 -0
  363. package/dist/headers/Telnet.d.ts +40 -0
  364. package/dist/headers/Telnet.js +193 -0
  365. package/dist/headers/Teredo.d.ts +40 -0
  366. package/dist/headers/Teredo.js +251 -0
  367. package/dist/headers/TimeProtocol.d.ts +25 -0
  368. package/dist/headers/TimeProtocol.js +53 -0
  369. package/dist/headers/UDP.d.ts +19 -0
  370. package/dist/headers/UDP.js +171 -0
  371. package/dist/headers/VLAN_802dot1Q.d.ts +24 -0
  372. package/dist/headers/VLAN_802dot1Q.js +96 -0
  373. package/dist/headers/VRRP.d.ts +26 -0
  374. package/dist/headers/VRRP.js +309 -0
  375. package/dist/headers/VXLAN.d.ts +24 -0
  376. package/dist/headers/VXLAN.js +75 -0
  377. package/dist/headers/WCCP.d.ts +29 -0
  378. package/dist/headers/WCCP.js +117 -0
  379. package/dist/headers/WHOIS.d.ts +37 -0
  380. package/dist/headers/WHOIS.js +126 -0
  381. package/dist/headers/WSDiscovery.d.ts +29 -0
  382. package/dist/headers/WSDiscovery.js +118 -0
  383. package/dist/headers/WakeOnLAN.d.ts +30 -0
  384. package/dist/headers/WakeOnLAN.js +126 -0
  385. package/dist/headers/WebSocket.d.ts +26 -0
  386. package/dist/headers/WebSocket.js +173 -0
  387. package/dist/headers/WireGuard.d.ts +38 -0
  388. package/dist/headers/WireGuard.js +216 -0
  389. package/dist/headers/XMPP.d.ts +37 -0
  390. package/dist/headers/XMPP.js +149 -0
  391. package/dist/headers/Zabbix.d.ts +35 -0
  392. package/dist/headers/Zabbix.js +153 -0
  393. package/dist/headers/cms/AcsiPdu.d.ts +45 -0
  394. package/dist/headers/cms/AcsiPdu.js +112 -0
  395. package/dist/headers/cms/PerDecoder.d.ts +68 -0
  396. package/dist/headers/cms/PerDecoder.js +211 -0
  397. package/dist/headers/cms/PerReader.d.ts +64 -0
  398. package/dist/headers/cms/PerReader.js +155 -0
  399. package/dist/helper/BufferToHex.d.ts +5 -0
  400. package/dist/helper/BufferToHex.js +10 -0
  401. package/dist/helper/BufferToIP.d.ts +12 -0
  402. package/dist/helper/BufferToIP.js +23 -0
  403. package/dist/helper/BufferToNumber.d.ts +18 -0
  404. package/dist/helper/BufferToNumber.js +47 -0
  405. package/dist/helper/HexToBuffer.d.ts +7 -0
  406. package/dist/helper/HexToBuffer.js +27 -0
  407. package/dist/helper/HexToNumber.d.ts +18 -0
  408. package/dist/helper/HexToNumber.js +48 -0
  409. package/dist/helper/IPToBuffer.d.ts +12 -0
  410. package/dist/helper/IPToBuffer.js +34 -0
  411. package/dist/helper/NumberToBERBuffer.d.ts +18 -0
  412. package/dist/helper/NumberToBERBuffer.js +31 -0
  413. package/dist/helper/NumberToBERHex.d.ts +18 -0
  414. package/dist/helper/NumberToBERHex.js +52 -0
  415. package/dist/helper/NumberToBuffer.d.ts +18 -0
  416. package/dist/helper/NumberToBuffer.js +38 -0
  417. package/dist/helper/NumberToHex.d.ts +18 -0
  418. package/dist/helper/NumberToHex.js +35 -0
  419. package/dist/index.d.ts +52 -0
  420. package/dist/index.js +113 -0
  421. package/dist/lib/FlexibleObject.d.ts +27 -0
  422. package/dist/lib/FlexibleObject.js +113 -0
  423. package/dist/lib/GetBERIntegerLengthFromBuffer.d.ts +6 -0
  424. package/dist/lib/GetBERIntegerLengthFromBuffer.js +16 -0
  425. package/dist/lib/ProcessPacketPostHandlers.d.ts +13 -0
  426. package/dist/lib/ProcessPacketPostHandlers.js +53 -0
  427. package/dist/lib/SortPostHandlers.d.ts +7 -0
  428. package/dist/lib/SortPostHandlers.js +11 -0
  429. package/dist/lib/StringContentEncodingEnum.d.ts +10 -0
  430. package/dist/lib/StringContentEncodingEnum.js +14 -0
  431. package/dist/schema/ProtocolFieldJSONSchema.d.ts +35 -0
  432. package/dist/schema/ProtocolFieldJSONSchema.js +2 -0
  433. package/dist/schema/ProtocolFieldJSONSchemaDefinition.d.ts +2 -0
  434. package/dist/schema/ProtocolFieldJSONSchemaDefinition.js +2 -0
  435. package/dist/schema/ProtocolJSONSchema.d.ts +32 -0
  436. package/dist/schema/ProtocolJSONSchema.js +2 -0
  437. package/dist/types/CodecData.d.ts +7 -0
  438. package/dist/types/CodecData.js +2 -0
  439. package/dist/types/CodecDecodeResult.d.ts +10 -0
  440. package/dist/types/CodecDecodeResult.js +2 -0
  441. package/dist/types/CodecEncodeInput.d.ts +2 -0
  442. package/dist/types/CodecEncodeInput.js +2 -0
  443. package/dist/types/CodecEncodeResult.d.ts +5 -0
  444. package/dist/types/CodecEncodeResult.js +2 -0
  445. package/dist/types/CodecErrorInfo.d.ts +5 -0
  446. package/dist/types/CodecErrorInfo.js +2 -0
  447. package/dist/types/CodecModule.d.ts +2 -0
  448. package/dist/types/CodecModule.js +2 -0
  449. package/dist/types/CodecModuleConstructor.d.ts +2 -0
  450. package/dist/types/CodecModuleConstructor.js +2 -0
  451. package/dist/types/CodecSchema.d.ts +6 -0
  452. package/dist/types/CodecSchema.js +2 -0
  453. package/dist/types/DemuxProducer.d.ts +23 -0
  454. package/dist/types/DemuxProducer.js +2 -0
  455. package/dist/types/Dissection.d.ts +23 -0
  456. package/dist/types/Dissection.js +2 -0
  457. package/dist/types/HeaderTreeNode.d.ts +4 -0
  458. package/dist/types/HeaderTreeNode.js +2 -0
  459. package/dist/types/LayerGraph.d.ts +32 -0
  460. package/dist/types/LayerGraph.js +2 -0
  461. package/dist/types/PostHandlerItem.d.ts +4 -0
  462. package/dist/types/PostHandlerItem.js +2 -0
  463. package/package.json +141 -0
@@ -0,0 +1,639 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TLS_Alert = void 0;
4
+ const BaseHeader_1 = require("../abstracts/BaseHeader");
5
+ const BufferToNumber_1 = require("../helper/BufferToNumber");
6
+ const NumberToBuffer_1 = require("../helper/NumberToBuffer");
7
+ var TLSver;
8
+ (function (TLSver) {
9
+ TLSver["SSL_3_0"] = "SSL3.0";
10
+ TLSver["TLS_1_0"] = "TLS1.0";
11
+ TLSver["TLS_1_1"] = "TLS1.1";
12
+ TLSver["TLS_1_2"] = "TLS1.2";
13
+ TLSver["TLS_1_3"] = "TLS1.3";
14
+ })(TLSver || (TLSver = {}));
15
+ var Description_type;
16
+ (function (Description_type) {
17
+ Description_type["code_0"] = "Close notify";
18
+ Description_type["code_10"] = "Unexpected message";
19
+ Description_type["code_20"] = "Bad record MAC";
20
+ Description_type["code_21"] = "Decryption failed";
21
+ Description_type["code_22"] = "Record overflow";
22
+ Description_type["code_30"] = "Decompression failure";
23
+ Description_type["code_40"] = "Handshake failure";
24
+ Description_type["code_41"] = "No certificate";
25
+ Description_type["code_42"] = "Bad certificate";
26
+ Description_type["code_43"] = "Unsupported certificate";
27
+ Description_type["code_44"] = "Certificate revoked";
28
+ Description_type["code_45"] = "Certificate expired";
29
+ Description_type["code_46"] = "Certificate unknown";
30
+ Description_type["code_47"] = "Illegal parameter";
31
+ Description_type["code_48"] = "Unknown CA (Certificate authority)";
32
+ Description_type["code_49"] = "Access denied";
33
+ Description_type["code_50"] = "Decode error";
34
+ Description_type["code_51"] = "Decrypt error";
35
+ Description_type["code_60"] = "Export restriction";
36
+ Description_type["code_70"] = "Protocol version";
37
+ Description_type["code_71"] = "Insufficient security";
38
+ Description_type["code_80"] = "Internal error";
39
+ Description_type["code_86"] = "Inappropriate fallback";
40
+ Description_type["code_90"] = "User canceled";
41
+ Description_type["code_100"] = "No renegotiation";
42
+ Description_type["code_110"] = "Unsupported extension";
43
+ Description_type["code_111"] = "Certificate unobtainable";
44
+ Description_type["code_112"] = "Unrecognized name";
45
+ Description_type["code_113"] = "Bad certificate status response";
46
+ Description_type["code_114"] = "Bad certificate hash value\t ";
47
+ Description_type["code_115"] = "Unknown PSK identity (used in TLS-PSK and TLS-SRP)";
48
+ Description_type["code_116"] = "Certificate required";
49
+ Description_type["code_120"] = "No application protocol";
50
+ Description_type["code_255"] = "Unknown (255)";
51
+ })(Description_type || (Description_type = {}));
52
+ /**
53
+ * TLS Alert protocol — a TLS/SSL record carrying an alert, over TCP (heuristically, port 443). This codec
54
+ * decodes the 5-octet TLS record header followed by the 2-octet alert body: an 8-bit Content Type
55
+ * (`contentType`, offset 0, = 21 for Alert), a 16-bit legacy Version (`version`, offset 1, mapped to the
56
+ * labels SSL3.0 / TLS1.0 / TLS1.1 / TLS1.2 / TLS1.3 for 0x0300-0x0304, else "0"), a 16-bit record Length
57
+ * (`length`, offset 3), then the AlertLevel (`levelType`, offset 5; 1 Warning, 2 Fatal, else the numeric
58
+ * value) and the AlertDescription (`descriptionType`, offset 6; mapped to a named string for each defined
59
+ * code — Close notify, Handshake failure, Bad certificate, … — else the numeric value).
60
+ *
61
+ * The Version, level and description are decoded to friendly labels and re-encoded back to their numeric
62
+ * on-wire form, so a well-formed alert round-trips. In the heuristic chain (`heuristicFallback`), match()
63
+ * requires a Content Type of 21 and a recognized legacy Version (0x0300-0x0304).
64
+ */
65
+ class TLS_Alert extends BaseHeader_1.BaseHeader {
66
+ constructor() {
67
+ super(...arguments);
68
+ this.SCHEMA = {
69
+ type: 'object',
70
+ properties: {
71
+ contentType: {
72
+ type: 'integer',
73
+ label: 'Content Type',
74
+ minimum: 0,
75
+ maximum: 65535,
76
+ decode: () => {
77
+ this.instance.contentType.setValue((0, BufferToNumber_1.BufferToUInt8)(this.readBytes(0, 1)));
78
+ },
79
+ encode: () => {
80
+ const contentTyppe = this.instance.contentType.getValue(0, (nodePath) => this.recordError(nodePath, 'Not found'));
81
+ this.writeBytes(0, (0, NumberToBuffer_1.UInt8ToBuffer)(contentTyppe));
82
+ }
83
+ },
84
+ version: {
85
+ type: 'string',
86
+ label: 'Legacy Version',
87
+ minimum: 0,
88
+ maximum: 65535,
89
+ decode: () => {
90
+ this.instance.version.setValue((0, BufferToNumber_1.BufferToUInt16)(this.readBytes(1, 2)));
91
+ const version = this.instance.version.getValue(0, (nodePath) => this.recordError(nodePath, 'Not Found'));
92
+ switch (version) {
93
+ case 768:
94
+ {
95
+ this.instance.version.setValue(TLSver.SSL_3_0);
96
+ }
97
+ break;
98
+ case 769:
99
+ {
100
+ this.instance.version.setValue(TLSver.TLS_1_0);
101
+ }
102
+ break;
103
+ case 770:
104
+ {
105
+ this.instance.version.setValue(TLSver.TLS_1_1);
106
+ }
107
+ break;
108
+ case 771:
109
+ {
110
+ this.instance.version.setValue(TLSver.TLS_1_2);
111
+ }
112
+ break;
113
+ case 772:
114
+ {
115
+ this.instance.version.setValue(TLSver.TLS_1_3);
116
+ }
117
+ break;
118
+ default: {
119
+ this.instance.version.setValue('0');
120
+ }
121
+ }
122
+ },
123
+ encode: () => {
124
+ const version = this.instance.version.getValue('0', (nodePath) => this.recordError(nodePath, 'Not found'));
125
+ switch (version) {
126
+ case TLSver.SSL_3_0:
127
+ {
128
+ const version = (0, NumberToBuffer_1.UInt16ToBuffer)(768);
129
+ this.writeBytes(1, version);
130
+ }
131
+ break;
132
+ case TLSver.TLS_1_0:
133
+ {
134
+ const version = (0, NumberToBuffer_1.UInt16ToBuffer)(769);
135
+ this.writeBytes(1, version);
136
+ }
137
+ break;
138
+ case TLSver.TLS_1_1:
139
+ {
140
+ const version = (0, NumberToBuffer_1.UInt16ToBuffer)(770);
141
+ this.writeBytes(1, version);
142
+ }
143
+ break;
144
+ case TLSver.TLS_1_2:
145
+ {
146
+ const version = (0, NumberToBuffer_1.UInt16ToBuffer)(771);
147
+ this.writeBytes(1, version);
148
+ }
149
+ break;
150
+ case TLSver.TLS_1_3:
151
+ {
152
+ const version = (0, NumberToBuffer_1.UInt16ToBuffer)(772);
153
+ this.writeBytes(1, version);
154
+ }
155
+ break;
156
+ default: {
157
+ this.writeBytes(1, (0, NumberToBuffer_1.UInt16ToBuffer)(0));
158
+ }
159
+ }
160
+ }
161
+ },
162
+ length: {
163
+ type: 'integer',
164
+ label: 'Legacy Version',
165
+ minimum: 0,
166
+ maximum: 255,
167
+ decode: () => {
168
+ this.instance.length.setValue((0, BufferToNumber_1.BufferToUInt16)(this.readBytes(3, 2)));
169
+ },
170
+ encode: () => {
171
+ const length = (0, NumberToBuffer_1.UInt16ToBuffer)(this.instance.length.getValue(0, (nodePath) => this.recordError(nodePath, 'Not found')));
172
+ this.writeBytes(3, length);
173
+ }
174
+ },
175
+ levelType: {
176
+ type: 'string',
177
+ label: 'Alert Level Type ',
178
+ minimum: 0,
179
+ maximum: 255,
180
+ decode: () => {
181
+ this.instance.levelType.setValue((0, BufferToNumber_1.BufferToUInt8)(this.readBytes(5, 1)));
182
+ const type = this.instance.levelType.getValue(0, (nodePath) => this.recordError(nodePath, 'Not found'));
183
+ switch (type) {
184
+ case 1:
185
+ {
186
+ this.instance.levelType.setValue('Warning');
187
+ }
188
+ break;
189
+ case 2:
190
+ {
191
+ this.instance.levelType.setValue('Fatal');
192
+ }
193
+ break;
194
+ default: {
195
+ this.instance.levelType.setValue((0, BufferToNumber_1.BufferToUInt8)(this.readBytes(5, 1)));
196
+ }
197
+ }
198
+ },
199
+ encode: () => {
200
+ const type = this.instance.levelType.getValue('0', (nodePath) => this.recordError(nodePath, 'Not found'));
201
+ switch (type) {
202
+ case 'Warning':
203
+ {
204
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(1);
205
+ this.writeBytes(5, type);
206
+ }
207
+ break;
208
+ case 'Fatal':
209
+ {
210
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(2);
211
+ this.writeBytes(5, type);
212
+ }
213
+ break;
214
+ default: {
215
+ const type1 = parseInt(type, 10);
216
+ this.writeBytes(5, (0, NumberToBuffer_1.UInt8ToBuffer)(type1));
217
+ }
218
+ }
219
+ }
220
+ },
221
+ descriptionType: {
222
+ type: 'string',
223
+ label: 'Alert Description Types',
224
+ minimum: 0,
225
+ maximum: 255,
226
+ decode: () => {
227
+ this.instance.descriptionType.setValue((0, BufferToNumber_1.BufferToUInt8)(this.readBytes(6, 1)));
228
+ const type = this.instance.descriptionType.getValue(0, (nodePath) => this.recordError(nodePath, 'Not found'));
229
+ switch (type) {
230
+ case 0:
231
+ {
232
+ this.instance.descriptionType.setValue(Description_type.code_0);
233
+ }
234
+ break;
235
+ case 10:
236
+ {
237
+ this.instance.descriptionType.setValue(Description_type.code_10);
238
+ }
239
+ break;
240
+ case 20:
241
+ {
242
+ this.instance.descriptionType.setValue(Description_type.code_20);
243
+ }
244
+ break;
245
+ case 21:
246
+ {
247
+ this.instance.descriptionType.setValue(Description_type.code_21);
248
+ }
249
+ break;
250
+ case 22:
251
+ {
252
+ this.instance.descriptionType.setValue(Description_type.code_22);
253
+ }
254
+ break;
255
+ case 30:
256
+ {
257
+ this.instance.descriptionType.setValue(Description_type.code_30);
258
+ }
259
+ break;
260
+ case 40:
261
+ {
262
+ this.instance.descriptionType.setValue(Description_type.code_40);
263
+ }
264
+ break;
265
+ case 41:
266
+ {
267
+ this.instance.descriptionType.setValue(Description_type.code_41);
268
+ }
269
+ break;
270
+ case 42:
271
+ {
272
+ this.instance.descriptionType.setValue(Description_type.code_42);
273
+ }
274
+ break;
275
+ case 43:
276
+ {
277
+ this.instance.descriptionType.setValue(Description_type.code_43);
278
+ }
279
+ break;
280
+ case 44:
281
+ {
282
+ this.instance.descriptionType.setValue(Description_type.code_44);
283
+ }
284
+ break;
285
+ case 45:
286
+ {
287
+ this.instance.descriptionType.setValue(Description_type.code_45);
288
+ }
289
+ break;
290
+ case 46:
291
+ {
292
+ this.instance.descriptionType.setValue(Description_type.code_46);
293
+ }
294
+ break;
295
+ case 47:
296
+ {
297
+ this.instance.descriptionType.setValue(Description_type.code_47);
298
+ }
299
+ break;
300
+ case 48:
301
+ {
302
+ this.instance.descriptionType.setValue(Description_type.code_48);
303
+ }
304
+ break;
305
+ case 49:
306
+ {
307
+ this.instance.descriptionType.setValue(Description_type.code_49);
308
+ }
309
+ break;
310
+ case 50:
311
+ {
312
+ this.instance.descriptionType.setValue(Description_type.code_50);
313
+ }
314
+ break;
315
+ case 51:
316
+ {
317
+ this.instance.descriptionType.setValue(Description_type.code_51);
318
+ }
319
+ break;
320
+ case 60:
321
+ {
322
+ this.instance.descriptionType.setValue(Description_type.code_60);
323
+ }
324
+ break;
325
+ case 70:
326
+ {
327
+ this.instance.descriptionType.setValue(Description_type.code_70);
328
+ }
329
+ break;
330
+ case 71:
331
+ {
332
+ this.instance.descriptionType.setValue(Description_type.code_71);
333
+ }
334
+ break;
335
+ case 80:
336
+ {
337
+ this.instance.descriptionType.setValue(Description_type.code_80);
338
+ }
339
+ break;
340
+ case 86:
341
+ {
342
+ this.instance.descriptionType.setValue(Description_type.code_86);
343
+ }
344
+ break;
345
+ case 90:
346
+ {
347
+ this.instance.descriptionType.setValue(Description_type.code_90);
348
+ }
349
+ break;
350
+ case 100:
351
+ {
352
+ this.instance.descriptionType.setValue(Description_type.code_100);
353
+ }
354
+ break;
355
+ case 110:
356
+ {
357
+ this.instance.descriptionType.setValue(Description_type.code_110);
358
+ }
359
+ break;
360
+ case 111:
361
+ {
362
+ this.instance.descriptionType.setValue(Description_type.code_111);
363
+ }
364
+ break;
365
+ case 112:
366
+ {
367
+ this.instance.descriptionType.setValue(Description_type.code_112);
368
+ }
369
+ break;
370
+ case 113:
371
+ {
372
+ this.instance.descriptionType.setValue(Description_type.code_113);
373
+ }
374
+ break;
375
+ case 114:
376
+ {
377
+ this.instance.descriptionType.setValue(Description_type.code_114);
378
+ }
379
+ break;
380
+ case 115:
381
+ {
382
+ this.instance.descriptionType.setValue(Description_type.code_115);
383
+ }
384
+ break;
385
+ case 116:
386
+ {
387
+ this.instance.descriptionType.setValue(Description_type.code_116);
388
+ }
389
+ break;
390
+ case 120:
391
+ {
392
+ this.instance.descriptionType.setValue(Description_type.code_120);
393
+ }
394
+ break;
395
+ case 255:
396
+ {
397
+ this.instance.descriptionType.setValue(Description_type.code_255);
398
+ }
399
+ break;
400
+ default: {
401
+ this.instance.descriptionType.setValue((0, BufferToNumber_1.BufferToUInt8)(this.readBytes(6, 1)));
402
+ }
403
+ }
404
+ },
405
+ encode: () => {
406
+ const type = this.instance.descriptionType.getValue('0', (nodePath) => this.recordError(nodePath, 'Not found'));
407
+ switch (type) {
408
+ case Description_type.code_0:
409
+ {
410
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(0);
411
+ this.writeBytes(6, type);
412
+ }
413
+ break;
414
+ case Description_type.code_10:
415
+ {
416
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(10);
417
+ this.writeBytes(6, type);
418
+ }
419
+ break;
420
+ case Description_type.code_20:
421
+ {
422
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(20);
423
+ this.writeBytes(6, type);
424
+ }
425
+ break;
426
+ case Description_type.code_21:
427
+ {
428
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(21);
429
+ this.writeBytes(6, type);
430
+ }
431
+ break;
432
+ case Description_type.code_22:
433
+ {
434
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(22);
435
+ this.writeBytes(6, type);
436
+ }
437
+ break;
438
+ case Description_type.code_30:
439
+ {
440
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(30);
441
+ this.writeBytes(6, type);
442
+ }
443
+ break;
444
+ case Description_type.code_40:
445
+ {
446
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(40);
447
+ this.writeBytes(6, type);
448
+ }
449
+ break;
450
+ case Description_type.code_41:
451
+ {
452
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(41);
453
+ this.writeBytes(6, type);
454
+ }
455
+ break;
456
+ case Description_type.code_42:
457
+ {
458
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(42);
459
+ this.writeBytes(6, type);
460
+ }
461
+ break;
462
+ case Description_type.code_43:
463
+ {
464
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(43);
465
+ this.writeBytes(6, type);
466
+ }
467
+ break;
468
+ case Description_type.code_44:
469
+ {
470
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(44);
471
+ this.writeBytes(6, type);
472
+ }
473
+ break;
474
+ case Description_type.code_45:
475
+ {
476
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(45);
477
+ this.writeBytes(6, type);
478
+ }
479
+ break;
480
+ case Description_type.code_46:
481
+ {
482
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(46);
483
+ this.writeBytes(6, type);
484
+ }
485
+ break;
486
+ case Description_type.code_47:
487
+ {
488
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(47);
489
+ this.writeBytes(6, type);
490
+ }
491
+ break;
492
+ case Description_type.code_48:
493
+ {
494
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(48);
495
+ this.writeBytes(6, type);
496
+ }
497
+ break;
498
+ case Description_type.code_49:
499
+ {
500
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(49);
501
+ this.writeBytes(6, type);
502
+ }
503
+ break;
504
+ case Description_type.code_50:
505
+ {
506
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(50);
507
+ this.writeBytes(6, type);
508
+ }
509
+ break;
510
+ case Description_type.code_51:
511
+ {
512
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(51);
513
+ this.writeBytes(6, type);
514
+ }
515
+ break;
516
+ case Description_type.code_60:
517
+ {
518
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(60);
519
+ this.writeBytes(6, type);
520
+ }
521
+ break;
522
+ case Description_type.code_70:
523
+ {
524
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(70);
525
+ this.writeBytes(6, type);
526
+ }
527
+ break;
528
+ case Description_type.code_71:
529
+ {
530
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(71);
531
+ this.writeBytes(6, type);
532
+ }
533
+ break;
534
+ case Description_type.code_80:
535
+ {
536
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(80);
537
+ this.writeBytes(6, type);
538
+ }
539
+ break;
540
+ case Description_type.code_86:
541
+ {
542
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(86);
543
+ this.writeBytes(6, type);
544
+ }
545
+ break;
546
+ case Description_type.code_90:
547
+ {
548
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(90);
549
+ this.writeBytes(6, type);
550
+ }
551
+ break;
552
+ case Description_type.code_100:
553
+ {
554
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(100);
555
+ this.writeBytes(6, type);
556
+ }
557
+ break;
558
+ case Description_type.code_110:
559
+ {
560
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(110);
561
+ this.writeBytes(6, type);
562
+ }
563
+ break;
564
+ case Description_type.code_111:
565
+ {
566
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(111);
567
+ this.writeBytes(6, type);
568
+ }
569
+ break;
570
+ case Description_type.code_112:
571
+ {
572
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(112);
573
+ this.writeBytes(6, type);
574
+ }
575
+ break;
576
+ case Description_type.code_113:
577
+ {
578
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(113);
579
+ this.writeBytes(6, type);
580
+ }
581
+ break;
582
+ case Description_type.code_114:
583
+ {
584
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(114);
585
+ this.writeBytes(6, type);
586
+ }
587
+ break;
588
+ case Description_type.code_115:
589
+ {
590
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(115);
591
+ this.writeBytes(6, type);
592
+ }
593
+ break;
594
+ case Description_type.code_116:
595
+ {
596
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(116);
597
+ this.writeBytes(6, type);
598
+ }
599
+ break;
600
+ case Description_type.code_120:
601
+ {
602
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(120);
603
+ this.writeBytes(6, type);
604
+ }
605
+ break;
606
+ case Description_type.code_255:
607
+ {
608
+ const type = (0, NumberToBuffer_1.UInt8ToBuffer)(255);
609
+ this.writeBytes(6, type);
610
+ }
611
+ break;
612
+ default: {
613
+ const type1 = parseInt(type, 10);
614
+ const type2 = (0, NumberToBuffer_1.UInt8ToBuffer)(type1);
615
+ this.writeBytes(6, type2);
616
+ }
617
+ }
618
+ }
619
+ }
620
+ }
621
+ };
622
+ this.id = 'tls-alert';
623
+ this.matchKeys = ['tcpport:443'];
624
+ this.heuristicFallback = true;
625
+ this.name = 'Transport Layer Security(Alert Protocol)';
626
+ this.nickname = 'TLS-Alert';
627
+ }
628
+ match() {
629
+ if (!this.prevCodecModule)
630
+ return false;
631
+ const type = (0, BufferToNumber_1.BufferToInt8)(this.readBytes(0, 1));
632
+ if (type != 21)
633
+ return false;
634
+ const version = (0, BufferToNumber_1.BufferToUInt16)(this.readBytes(1, 2));
635
+ const validVersions = [768, 769, 770, 771, 772];
636
+ return validVersions.includes(version);
637
+ }
638
+ }
639
+ exports.TLS_Alert = TLS_Alert;
@@ -0,0 +1,24 @@
1
+ import { ProtocolJSONSchema } from '../schema/ProtocolJSONSchema';
2
+ import { BaseHeader } from '../abstracts/BaseHeader';
3
+ /**
4
+ * TLS Application Data protocol — a TLS/SSL record carrying encrypted application payload, over TCP
5
+ * (heuristically, port 443). This codec decodes the 5-octet TLS record header plus its body: an 8-bit
6
+ * Content Type (`contentType`, offset 0, = 23 / 0x17 for Application Data), a 16-bit legacy Version
7
+ * (`version`, offset 1, mapped to the labels SSL3.0 / TLS1.0 / TLS1.1 / TLS1.2 / TLS1.3 for 0x0300-0x0304,
8
+ * else "0"), a 16-bit record Length (`length`, offset 3), and the ciphertext body (`appData`, offset 5,
9
+ * `length` octets).
10
+ *
11
+ * The body is encrypted and opaque, so it is kept verbatim as `appData` hex (byte-perfect) and never
12
+ * sub-decoded; the Length is honored as given. A well-formed record round-trips byte-for-byte. In the
13
+ * heuristic chain (`heuristicFallback`), match() requires a Content Type of 0x17 and a recognized legacy
14
+ * Version (0x0300-0x0304).
15
+ */
16
+ export declare class TLS_ApplicationData extends BaseHeader {
17
+ SCHEMA: ProtocolJSONSchema;
18
+ id: string;
19
+ readonly matchKeys: string[];
20
+ readonly heuristicFallback: boolean;
21
+ name: string;
22
+ nickname: string;
23
+ match(): boolean;
24
+ }