1NASL(1) Nessus Attack Scripting Language NASL(1)
2
3
4
6 nasl - Nessus Attack Scripting Language
7
9 nasl <[-vh] [-T tracefile] [-s] [-t target] [-sX] > files...
10
12 nasl executes a set of NASL scripts against a given target host. It can
13 also be used to determine if a NASL script has any syntax errors by
14 running it in parse (-p) or lint (-L) mode.
15
16
17
19 -T tracefile
20 Makes nasl write verbosely what the script does in the file
21 tracefile , ala 'set -x' under sh
22
23
24 -t target
25 Apply the NASL script to target which may be a single host
26 (127.0.0.1), a whole subnet (192.168.1.0/24) or several subnets
27 (192.168.1.0/24, 192.168.243.0/24)
28
29
30
31 -s Sets the return value of safe_checks() to 1. (See the nessusd
32 manual to know what the safe checks are)
33
34
35 -D Only run the description part of the script.
36
37
38 -L Lint the script (run extended checks).
39
40
41 -X Run the script in authenticated mode. For more information see
42 the nasl reference manual
43
44
45 -h Show help
46
47 -v Show the version of NASL.
48
50 The NASL2 reference manual, http://www.nessus.org/nasl2ref.pdf, nes‐
51 sus(1), nessusd(8).
52
54 NASL comes from a private project called 'pkt_forge', which was written
55 in late 1998 by Renaud Deraison and which was an interactive shell to
56 forge and send raw IP packets (this pre-dates Perl's Net::RawIP by a
57 couple of weeks). It was then extended to do a wide range of network-
58 related operations and integrated into Nessus as 'NASL'.
59
60 The parser was completely hand-written and a pain to work with. In
61 Mid-2002, Michel Arboi wrote a bison parser for NASL, and he and Renaud
62 Deraison re-wrote NASL from scratch. Although the "new" NASL was nearly
63 working as early as August 2002, Michel's lazyness made us wait for
64 early 2003 to have it working completely.
65
66
68 Most of the engine is (C) 2003 Michel Arboi, most of the built-in func‐
69 tions are (C) 2003 Renaud Deraison
70
71
72
73Nessus Project May 2006 NASL(1)