Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.217.105
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
nmap /
nselib /
Delete
Unzip
Name
Size
Permission
Date
Action
data
[ DIR ]
drwxr-xr-x
2024-08-29 14:21
afp.lua
71.48
KB
-rw-r--r--
2023-01-13 02:40
ajp.lua
16.77
KB
-rw-r--r--
2023-01-13 02:40
amqp.lua
10.41
KB
-rw-r--r--
2023-01-13 02:40
anyconnect.lua
4.31
KB
-rw-r--r--
2023-01-13 02:40
asn1.lua
14.57
KB
-rw-r--r--
2023-01-13 02:40
base32.lua
7.36
KB
-rw-r--r--
2023-01-13 02:40
base64.lua
5.83
KB
-rw-r--r--
2023-01-13 02:40
bin.lua
12.99
KB
-rw-r--r--
2023-01-13 02:40
bitcoin.lua
18.25
KB
-rw-r--r--
2023-01-13 02:40
bits.lua
2.54
KB
-rw-r--r--
2023-01-13 02:40
bittorrent.lua
35.76
KB
-rw-r--r--
2023-01-13 02:40
bjnp.lua
9.55
KB
-rw-r--r--
2023-01-13 02:40
brute.lua
50.64
KB
-rw-r--r--
2023-01-13 02:40
cassandra.lua
5.48
KB
-rw-r--r--
2023-01-13 02:40
citrixxml.lua
16
KB
-rw-r--r--
2023-01-13 02:40
coap.lua
75.1
KB
-rw-r--r--
2023-01-13 02:40
comm.lua
11.03
KB
-rw-r--r--
2023-01-13 02:40
creds.lua
18.26
KB
-rw-r--r--
2023-01-13 02:40
cvs.lua
3.05
KB
-rw-r--r--
2023-01-13 02:40
datafiles.lua
11.05
KB
-rw-r--r--
2023-01-13 02:40
datetime.lua
7.5
KB
-rw-r--r--
2023-01-13 02:40
dhcp.lua
28.57
KB
-rw-r--r--
2023-01-13 02:40
dhcp6.lua
19.86
KB
-rw-r--r--
2023-01-13 02:40
dns.lua
51.07
KB
-rw-r--r--
2023-01-13 02:40
dnsbl.lua
19.01
KB
-rw-r--r--
2023-01-13 02:40
dnssd.lua
12.61
KB
-rw-r--r--
2023-01-13 02:40
drda.lua
24.08
KB
-rw-r--r--
2023-01-13 02:40
eap.lua
7.54
KB
-rw-r--r--
2023-01-13 02:40
eigrp.lua
12.98
KB
-rw-r--r--
2023-01-13 02:40
formulas.lua
5.68
KB
-rw-r--r--
2023-01-13 02:40
ftp.lua
9.03
KB
-rw-r--r--
2023-01-13 02:40
geoip.lua
1.71
KB
-rw-r--r--
2023-01-13 02:40
giop.lua
18.42
KB
-rw-r--r--
2023-01-13 02:40
gps.lua
3.38
KB
-rw-r--r--
2023-01-13 02:40
http.lua
117.07
KB
-rw-r--r--
2023-01-13 02:40
httpspider.lua
36.65
KB
-rw-r--r--
2023-01-13 02:40
iax2.lua
9.58
KB
-rw-r--r--
2023-01-13 02:40
idna.lua
17.14
KB
-rw-r--r--
2023-01-13 02:40
ike.lua
14.63
KB
-rw-r--r--
2023-01-13 02:40
imap.lua
9.59
KB
-rw-r--r--
2023-01-13 02:40
informix.lua
39.93
KB
-rw-r--r--
2023-01-13 02:40
ipOps.lua
29.06
KB
-rw-r--r--
2023-01-13 02:40
ipmi.lua
8.08
KB
-rw-r--r--
2023-01-13 02:40
ipp.lua
12.57
KB
-rw-r--r--
2023-01-13 02:40
irc.lua
757
B
-rw-r--r--
2023-01-13 02:40
iscsi.lua
21.38
KB
-rw-r--r--
2023-01-13 02:40
isns.lua
14.98
KB
-rw-r--r--
2023-01-13 02:40
jdwp.lua
43.52
KB
-rw-r--r--
2023-01-13 02:40
json.lua
11.62
KB
-rw-r--r--
2023-01-13 02:40
knx.lua
2.42
KB
-rw-r--r--
2023-01-13 02:40
ldap.lua
31.94
KB
-rw-r--r--
2023-01-13 02:40
lfs.luadoc
1.68
KB
-rw-r--r--
2023-01-13 02:40
libssh2-utility.lua
4.69
KB
-rw-r--r--
2023-01-13 02:40
libssh2.luadoc
4.75
KB
-rw-r--r--
2023-01-13 02:40
listop.lua
4.66
KB
-rw-r--r--
2023-01-13 02:40
lpeg-utility.lua
5.64
KB
-rw-r--r--
2023-01-13 02:40
lpeg.luadoc
351
B
-rw-r--r--
2023-01-13 02:40
ls.lua
10.96
KB
-rw-r--r--
2023-01-13 02:40
match.lua
2.05
KB
-rw-r--r--
2023-01-13 02:40
membase.lua
9.93
KB
-rw-r--r--
2023-01-13 02:40
mobileme.lua
8.46
KB
-rw-r--r--
2023-01-13 02:40
mongodb.lua
21.3
KB
-rw-r--r--
2023-01-13 02:40
mqtt.lua
28.86
KB
-rw-r--r--
2023-01-13 02:40
msrpc.lua
190.07
KB
-rw-r--r--
2023-01-13 02:40
msrpcperformance.lua
29.65
KB
-rw-r--r--
2023-01-13 02:40
msrpctypes.lua
168.52
KB
-rw-r--r--
2023-01-13 02:40
mssql.lua
109.43
KB
-rw-r--r--
2023-01-13 02:40
multicast.lua
5.97
KB
-rw-r--r--
2023-01-13 02:40
mysql.lua
16.03
KB
-rw-r--r--
2023-01-13 02:40
natpmp.lua
5.11
KB
-rw-r--r--
2023-01-13 02:40
nbd.lua
16.04
KB
-rw-r--r--
2023-01-13 02:40
ncp.lua
35.64
KB
-rw-r--r--
2023-01-13 02:40
ndmp.lua
11.43
KB
-rw-r--r--
2023-01-13 02:40
netbios.lua
14.44
KB
-rw-r--r--
2023-01-13 02:40
nmap.luadoc
40.34
KB
-rw-r--r--
2023-01-13 02:40
nrpc.lua
4.46
KB
-rw-r--r--
2023-01-13 02:40
nsedebug.lua
3.49
KB
-rw-r--r--
2023-01-13 02:40
omp2.lua
4.78
KB
-rw-r--r--
2023-01-13 02:40
oops.lua
3.61
KB
-rw-r--r--
2023-01-13 02:40
openssl.luadoc
7.5
KB
-rw-r--r--
2023-01-13 02:40
ospf.lua
15.29
KB
-rw-r--r--
2023-01-13 02:40
packet.lua
36.18
KB
-rw-r--r--
2023-01-13 02:40
pcre.luadoc
6.79
KB
-rw-r--r--
2023-01-13 02:40
pgsql.lua
20.6
KB
-rw-r--r--
2023-01-13 02:40
pop3.lua
5.74
KB
-rw-r--r--
2023-01-13 02:40
pppoe.lua
29.42
KB
-rw-r--r--
2023-01-13 02:40
proxy.lua
11.37
KB
-rw-r--r--
2023-01-13 02:40
punycode.lua
11.5
KB
-rw-r--r--
2023-01-13 02:40
rand.lua
2.7
KB
-rw-r--r--
2023-01-13 02:40
rdp.lua
14.73
KB
-rw-r--r--
2023-01-13 02:40
re.lua
8.22
KB
-rw-r--r--
2023-01-13 02:40
redis.lua
3.61
KB
-rw-r--r--
2023-01-13 02:40
rmi.lua
47.77
KB
-rw-r--r--
2023-01-13 02:40
rpc.lua
107.64
KB
-rw-r--r--
2023-01-13 02:40
rpcap.lua
11.08
KB
-rw-r--r--
2023-01-13 02:40
rsync.lua
5.22
KB
-rw-r--r--
2023-01-13 02:40
rtsp.lua
8.62
KB
-rw-r--r--
2023-01-13 02:40
sasl.lua
16.51
KB
-rw-r--r--
2023-01-13 02:40
shortport.lua
11.99
KB
-rw-r--r--
2023-01-13 02:40
sip.lua
30.07
KB
-rw-r--r--
2023-01-13 02:40
slaxml.lua
17.9
KB
-rw-r--r--
2023-01-13 02:40
smb.lua
173.22
KB
-rw-r--r--
2023-01-13 02:40
smb2.lua
15.34
KB
-rw-r--r--
2023-01-13 02:40
smbauth.lua
37.33
KB
-rw-r--r--
2023-01-13 02:40
smtp.lua
19.85
KB
-rw-r--r--
2023-01-13 02:40
snmp.lua
16
KB
-rw-r--r--
2023-01-13 02:40
socks.lua
8.25
KB
-rw-r--r--
2023-01-13 02:40
srvloc.lua
10.99
KB
-rw-r--r--
2023-01-13 02:40
ssh1.lua
9.15
KB
-rw-r--r--
2023-01-13 02:40
ssh2.lua
11.73
KB
-rw-r--r--
2023-01-13 02:40
sslcert.lua
33.35
KB
-rw-r--r--
2023-01-13 02:40
sslv2.lua
9.68
KB
-rw-r--r--
2023-01-13 02:40
stdnse.lua
32.64
KB
-rw-r--r--
2023-01-13 02:40
strbuf.lua
4.52
KB
-rw-r--r--
2023-01-13 02:40
strict.lua
2.53
KB
-rw-r--r--
2023-01-13 02:40
stringaux.lua
4.32
KB
-rw-r--r--
2023-01-13 02:40
stun.lua
11.08
KB
-rw-r--r--
2023-01-13 02:40
tab.lua
3.35
KB
-rw-r--r--
2023-01-13 02:40
tableaux.lua
2.06
KB
-rw-r--r--
2023-01-13 02:40
target.lua
3.93
KB
-rw-r--r--
2023-01-13 02:40
tftp.lua
9.41
KB
-rw-r--r--
2023-01-13 02:40
tls.lua
58.05
KB
-rw-r--r--
2023-01-13 02:40
tn3270.lua
46.99
KB
-rw-r--r--
2023-01-13 02:40
tns.lua
64.16
KB
-rw-r--r--
2023-01-13 02:40
unicode.lua
14.23
KB
-rw-r--r--
2023-01-13 02:40
unittest.lua
12.41
KB
-rw-r--r--
2023-01-13 02:40
unpwdb.lua
10.42
KB
-rw-r--r--
2023-01-13 02:40
upnp.lua
11.18
KB
-rw-r--r--
2023-01-13 02:40
url.lua
16.7
KB
-rw-r--r--
2023-01-13 02:40
versant.lua
8.58
KB
-rw-r--r--
2023-01-13 02:40
vnc.lua
25.54
KB
-rw-r--r--
2023-01-13 02:40
vulns.lua
76.45
KB
-rw-r--r--
2023-01-13 02:40
vuzedht.lua
16.21
KB
-rw-r--r--
2023-01-13 02:40
wsdd.lua
11.98
KB
-rw-r--r--
2023-01-13 02:40
xdmcp.lua
12.09
KB
-rw-r--r--
2023-01-13 02:40
xmpp.lua
15.91
KB
-rw-r--r--
2023-01-13 02:40
zlib.luadoc
4.88
KB
-rw-r--r--
2023-01-13 02:40
Save
Rename
--- A library supporting parsing and generating a limited subset of the Cisco' EIGRP packets. -- -- @author Hani Benhabiles -- @copyright Same as Nmap--See https://nmap.org/book/man-legal.html -- Version 0.1 -- 19/07/2012 - First version. local table = require "table" local stdnse = require "stdnse" local strbuf = require "strbuf" local string = require "string" local ipOps = require "ipOps" local packet = require "packet" _ENV = stdnse.module("eigrp", stdnse.seeall) -- TLV Type constants TLV = { PARAM = 0x0001, AUTH = 0x0002, SEQ = 0x0003, SWVER = 0x0004, MSEQ = 0x0005, STUB = 0x0006, TERM = 0x0007, TIDLIST = 0x0008, REQ = 0x0101, INT = 0x0102, EXT = 0x0103, COM = 0x0104, INT6 = 0x0402, EXT6 = 0x0403, COM6 = 0x0404, } -- External protocols constants EXT_PROTO = { NULL = 0x00, IGRP = 0x01, EIGRP = 0x02, Static = 0x03, RIP = 0x04, HELLO = 0x05, OSPF = 0x06, ISIS = 0x07, EGP = 0x08, BGP = 0x09, IDRP = 0x10, Connected = 0x11, } -- Packets opcode constants OPCODE = { UPDATE = 0x01, RESERVED = 0x02, QUERY = 0x03, REPLY = 0x04, HELLO = 0x05, } -- The EIGRP Class EIGRP = { --- Creates a new instance of EIGRP class. -- @param opcode integer Opcode. Defaults to 5 (Hello) -- @param as integer Autonomous System. Defaults to 0. -- @param routerid integer virtual router ID. defaults to 0. -- @param flags integer flags field value. Defaults to 0. -- @param seq integer sequence value. Defaults to 0. -- @param ack integer acknowledge value. Defaults to 0. -- @param Checksum integer EIGRP packet checksum. Calculated automatically -- if not manually set. -- @param Table TLVs table. -- @return o Instance of EIGRP new = function(self, opcode, as, routerid, flags, seq, ack, checksum, tlvs) local o = { ver = 2, opcode = opcode or TLV.HELLO, as = as or 0, routerid = routerid or 0, flags = flags or 0, seq = seq or 0x00, ack = ack or 0x00, checksum = checksum, tlvs = tlvs or {}, } setmetatable(o, self) self.__index = self return o end, --- Parses a raw eigrp packet and returns a structured response. -- @param eigrp_raw string EIGRP Raw packet. -- @return response table Structured eigrp packet. parse = function(eigrp_raw) if type(eigrp_raw) ~= 'string' then stdnse.debug1("eigrp.lua: parse input should be string.") return end if #eigrp_raw < 20 then stdnse.debug1("eigrp.lua: raw packet size lower then 20.") return end local tlv local eigrp_packet = {} local index = 1 eigrp_packet.ver, eigrp_packet.opcode, eigrp_packet.checksum, eigrp_packet.flags, eigrp_packet.seq, eigrp_packet.ack, eigrp_packet.routerid, eigrp_packet.as, index = string.unpack(">BBI2I4I4I4I2I2", eigrp_raw, index) eigrp_packet.tlvs = {} while index < #eigrp_raw do tlv = {} tlv.type, tlv.length, index = string.unpack(">I2I2", eigrp_raw, index) if tlv.length == 0x00 then -- In case someone wants to DoS us :) stdnse.debug1("eigrp.lua: stopped parsing due to null TLV length.") break end -- TODO: These padding calculations seem suspect, especially the ones -- that assume a static length for a variable-length field like TLV.SEQ if tlv.type == TLV.PARAM then -- Parameters local k = {} k[1], k[2], k[3], k[4], k[5], k[6], tlv.htime, index = string.unpack(">BBBBBBI2", eigrp_raw, index) tlv.k = k index = index + tlv.length - 12 elseif tlv.type == TLV.AUTH then tlv.authtype, tlv.authlen, tlv.keyid, tlv.keyseq, index = string.unpack(">I2I2I4I4", eigrp_raw, index) -- Null pad == tlv.length - What was already parsed - authlen tlv.digest, index = string.unpack(">I2", eigrp_raw, index + (tlv.length - tlv.authlen - index + 1)) elseif tlv.type == TLV.SEQ then -- Sequence tlv.address, index = string.unpack(">s2", eigrp_raw, index) tlv.address = ipOps.str_to_ip(tlv.address) index = index + tlv.length - 7 elseif tlv.type == TLV.SWVER then -- Software version tlv.majv, tlv.minv, tlv.majtlv, tlv.mintlv, index = string.unpack(">BBBB", eigrp_raw, index) index = index + tlv.length - 8 elseif tlv.type == TLV.MSEQ then -- Next Multicast Sequence tlv.mseq, index = string.unpack(">I4", eigrp_raw, index) index = index + tlv.length - 8 elseif tlv.type == TLV.STUB then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) index = index + tlv.length - 4 elseif tlv.type == TLV.TERM then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) index = index + tlv.length - 4 elseif tlv.type == TLV.TIDLIST then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) index = index + tlv.length - 4 elseif tlv.type == TLV.REQ then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) index = index + tlv.length - 4 elseif tlv.type == TLV.INT then -- Internal Route tlv.nexth, index = string.unpack(">I4", eigrp_raw, index) tlv.nexth = ipOps.fromdword(tlv.nexth) tlv.mask, index = string.unpack(">I2", eigrp_raw, index + 15) -- Destination varies in length -- e.g trailing 0's are omitted -- if length = 29 => destination is 4 bytes -- if length = 28 => destination is 3 bytes -- if length = 27 => destination is 2 bytes -- if length = 26 => destination is 1 byte local dst = {0,0,0,0} for i = 1, (4 + tlv.length - 29) do dst[i], index = string.unpack("B", eigrp_raw, index) end tlv.dst = table.concat(dst, '.') elseif tlv.type == TLV.EXT then -- External Route tlv.nexth, tlv.orouterid, tlv.oas, tlv.tag, tlv.emetric, -- Skip 2 reserved bytes tlv.eproto, tlv.eflags, tlv.lmetrics, tlv.mask, index = string.unpack(">I4I4I4I4I4xxBBc16B", eigrp_raw, index) tlv.nexth = ipOps.fromdword(tlv.nexth) tlv.orouterid = ipOps.fromdword(tlv.orouterid) -- Destination varies in length -- if length = 49 => destination is 4 bytes -- if length = 48 => destination is 3 bytes -- if length = 47 => destination is 2 bytes -- if length = 46 => destination is 1 byte local dst = {0,0,0,0} for i = 1, (4 + tlv.length - 49) do dst[i], index = string.unpack("B", eigrp_raw, index) end tlv.dst = table.concat(dst, '.') elseif tlv.type == TLV.COM then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) index = index + tlv.length - 4 elseif tlv.type == TLV.INT6 then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) index = index + tlv.length - 4 elseif tlv.type == TLV.EXT6 then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) index = index + tlv.length - 4 elseif tlv.type == TLV.COM6 then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) index = index + tlv.length - 4 else stdnse.debug1("eigrp.lua: eigrp.lua: TLV type %d unknown.", tlv.type) index = index + tlv.length - 4 end table.insert(eigrp_packet.tlvs, tlv) end return eigrp_packet end, --- Adds a TLV table to the table of TLVs. -- @param tlv TLV table. addTLV = function(self, tlv) if type(tlv) == 'table' then table.insert(self.tlvs, tlv) else stdnse.debug1("eigrp.lua: TLV should be a table, not %s", type(tlv)) end end, --- Checks if TLV type is one that should contain routing information. -- @param tlvtype integer TLV type integer to check. -- @return status true if tlvtype is a routing information tlv. isRoutingTLV = function(tlvtype) if tlvtype == 0x101 or tlvtype == 0x102 or tlvtype == 0x103 or tlvtype == 0x104 or tlvtype == 0x402 or tlvtype == 0x403 or tlvtype == 0x404 then return true end end, --- Sets the EIGRP version. -- @param ver integer version to set. setVersion = function(self, ver) self.ver = ver end, --- Sets the EIGRP Packet opcode -- @param opcode integer EIGRP opcode. setOpcode = function(self, opcode) self.opcode = opcode end, --- Sets the EIGRP packet checksum -- @param integer checksum Checksum to set. setChecksum = function(self, checksum) self.checksum = checksum end, --- Sets the EIGRP packet flags field. -- @param flags Flags integer value. setFlags = function(self, flags) self.flags = flags end, --- Sets the EIGRP packet sequence field. -- @param seq EIGRP sequence. setSequence = function(self, seq) self.seq = seq end, --- Sets the EIGRP Packet acknowledge field. -- @param ack EIGRP acknowledge. setAcknowledge = function(self, ack) self.ack = ack end, --- Sets the EIGRP Packet Virtual Router ID. -- @param routerid EIGRP Virtual Router ID. setRouterID = function(self, routerid) self.routerid = routerid end, --- Sets the EIGRP Packet Autonomous System. -- @param as EIGRP A.S. setAS = function(self, as) self.as = as end, --- Sets the EIGRP Packet tlvs -- @param tlvs table of EIGRP tlvs. setTlvs = function(self, tlvs) self.tlvs = tlvs end, --- Converts the request to a string suitable to be sent over a socket. -- @return data string containing the complete request to send over the socket __tostring = function(self) local data = strbuf.new() data = data .. string.pack(">BBI2I4I4I4I2I2", self.ver, -- Version 2 self.opcode, -- Opcode: Hello self.checksum or 0, -- Calculated later. self.flags, -- Flags self.seq, -- Sequence 0 self.ack, -- Acknowledge 0 self.routerid, -- Virtual Router ID 0 self.as) -- Autonomous system for _, tlv in pairs(self.tlvs) do if tlv.type == TLV.PARAM then data = data .. string.pack(">I2I2 BBBBBB I2", TLV.PARAM, 12, -- Length tlv.k[1], tlv.k[2], tlv.k[3], tlv.k[4], tlv.k[5], tlv.k[6], tlv.htime) elseif tlv.type == TLV.AUTH then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.SEQ then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.SWVER then data = data .. string.pack(">I2I2 BB BB", TLV.SWVER, 0x0008, tonumber(tlv.majv), tonumber(tlv.minv), tonumber(tlv.majtlv), tonumber(tlv.mintlv)) elseif tlv.type == TLV.MSEQ then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.STUB then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.TERM then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.TIDLIST then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.REQ then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.INT then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.EXT then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.COM then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.INT6 then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.EXT6 then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) elseif tlv.type == TLV.COM6 then -- TODO stdnse.debug1("eigrp.lua: TLV type %d skipped due to no parser.", tlv.type) else stdnse.debug1("eigrp.lua: TLV type %d unknown.", tlv.type) end end data = strbuf.dump(data) -- In the end, correct the checksum if not manually set if not self.checksum then data = data:sub(1,2) .. string.pack(">I2", packet.in_cksum(data)) .. data:sub(5) end return data end, } return _ENV;