Book Image

Mastering the Nmap Scripting Engine

By : Paulino Calderon
Book Image

Mastering the Nmap Scripting Engine

By: Paulino Calderon

Overview of this book

Table of Contents (23 chapters)
Mastering the Nmap Scripting Engine
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Scan Phases
Script Categories
Nmap Options Mind Map
References
Index

Common data structures


In Lua, you will use the table data type to implement all your data structures. This data type has great features such as the ability to store functions and be dynamically allocated, among many others. Hopefully, after reviewing some common data structures, you will find yourself loving their flexibility.

Tables

Tables are very convenient and allow us to implement data structures such as dictionaries, sets, lists, and arrays very efficiently. A table can be initialized empty or with some values:

T1={} --empty table
T2={"a","b","c"}

Integer indexes or hash keys can be used to assign or dereference the values in a table. One important thing to keep in mind is that we can have both types in the same table:

t={}
t[1] = "hey "
t["nmap"] = "hi " --This is valid

To get the number of elements stored in a table, you may prepend the # operator:

if #users>1 then
print(string.format("There are %d user(s) online.", #users))
  … --Do something else
end

Note

Keep in mind that the # operator...