Knowledge BaseNASL API DocumentationFunctions from the NASL Library

Functions from the NASL Library

Apart from the built-in functions provided by NASL itself it is also possible to use functions defined in "include" files. As a convention, these files have the extension ".inc" and reside in the plugin directory. Before you start writing functions for your own NASL scripts, you might want to check if the functionality is already available in the NASL Library. If you find yourself implementing a function that could be useful in other plugins as well, please consider adding it to the library.

Quite a number of functions have been added to the NASL library already; the following list contains the names and declared functions of the files currently in the library. Keep in mind that this information is subject to change as plugins are added or updated.

backport.inc
get_backport_banner(), get_php_version()
debian_package.inc
deb_check(), deb_str_cmp(), deb_ver_cmp()
default_account.inc
check_account(), _check_telnet(), recv_until()
dump.inc
dump(), hexdump(), isprint (), line2string ()
ftp_func.inc
ftp_authenticate(), ftp_close(), ftp_pasv(), ftp_recv_data(), ftp_recv_line(), ftp_recv_listing(), ftp_send_cmd(), get_ftp_banner()
global_settings.inc
debug_print(), log_print()
http_func.inc
can_host_asp(), can_host_php(), cgi_dirs(), check_win_dir_trav(), do_check_win_dir_trav(), get_http_banner(), get_http_port(), headers_split(), hex2dec(), __hex_value(), http_40x(), http_is_dead(), http_recv(), http_recv_body(), http_recv_headers2(), http_recv_length(), http_send_recv(), php_ver_match()
http_keepalive.inc
check_win_dir_trav_ka(), enable_keepalive(), get_http_page(), http_keepalive_check_connection(), http_keepalive_enabled(), http_keepalive_recv_body(), http_keepalive_send_recv(), is_cgi_installed_ka(), on_exit()
imap_func.inc
get_imap_banner ()
misc_func.inc
add_port_in_list(), base64(), base64_code(), base64_decode(), cvsdate2unixtime(), dec2hex(), get_mysql_version(), get_rpc_port(), get_service_banner_line(), get_unknown_banner(), hex2raw(), known_service(), pow2(), rand_str(), register_service(), replace_or_set_kb_item(), report_service(), service_is_unknown(), set_mysql_version(), set_unknown_banner()
netop.inc
ip_dot2raw(), ip_raw2dot(), netop_banner_items(), netop_check_and_add_banner(), netop_each_found(), netop_kb_derive(), netop_log_detected(), netop_product_ident(), netop_spacepad(), netop_zeropad()
network_func.inc
htonl(), htons(), ip_checksum(), is_private_addr(), ms_since_midnight(), ntohl(), test_udp_port()
nfs_func.inc
cwd(), mount(), open(), padsz(), read(), readdir(), rpclong(), rpcpad(), str2long(), umount()
nntp_func.inc
nntp_article(), nntp_auth(), nntp_connect(), nntp_make_id(), nntp_post()
pingpong.inc
udp_ping_pong()
pkg-lib-deb.inc
isdpkgvuln()
pop3_func.inc
get_pop3_banner ()
qpkg.inc
qpkg_check(), qpkg_cmp(), qpkg_ver_cmp()
revisions-lib.inc
isdigit(), revcomp()
slackware.inc
slack_elt_cmp(), slack_ver_cmp(), slackware_check()
slad_ssh.inc
slad_ssh_login ()
smbcl_func.inc
bin_dword(), bin_word(), fileread(), GetPEFileVersion (), GetPEProductVersion (), get_windir(), is_domain(), PEVersion(), smbclientavail(), smbgetdir(), smbgetfile(), smbversion()
smb_hotfixes.inc
hotfix_check_dhcpserver_installed(), hotfix_check_domain_controler(), hotfix_check_excel_version(), hotfix_check_exchange_installed(), hotfix_check_iis_installed(), hotfix_check_nt_server(), hotfix_check_office_version(), hotfix_check_outlook_version(), hotfix_check_powerpoint_version(), hotfix_check_sp(), hotfix_check_wins_installed(), hotfix_check_word_version(), hotfix_check_works_installed(), hotfix_data_access_version(), hotfix_get_commonfilesdir(), hotfix_get_programfilesdir(), hotfix_get_systemroot(), hotfix_missing()
smtp_func.inc
get_smtp_banner(), smtp_close(), smtp_from_header(), smtp_open(), smtp_recv_banner(), smtp_recv_line(), smtp_send_port(), smtp_send_socket(), smtp_to_header()
ssh_func.inc
base64decode(), check_pattern(), crypt(), decrypt(), derive_keys(), dh_gen_key(), dh_valid_key(), get_data_size(), get_ssh_banner(), get_ssh_error(), get_ssh_server_version(), get_ssh_supported_authentication(), getstring(), init(), is_sshd_bugged(), kb_ssh_login(), kb_ssh_passphrase(), kb_ssh_password(), kb_ssh_privatekey(), kb_ssh_publickey(), kb_ssh_transport(), kex_packet(), load_array_from_kb(), load_data_from_kb(), load_intarray_from_kb(), load_int_from_kb(), mac_compute(), ntol(), packet_payload(), putbignum(), putstring(), raw_int32(), raw_int8(), recv_ssh_packet(), register_array_in_kb(), register_data_in_kb(), register_intarray_in_kb(), register_int_in_kb(), reuse_connection_init(), send_ssh_packet(), set_ssh_error(), ssh_close_channel(), ssh_close_connection(), ssh_cmd(), ssh_cmd_error(), ssh_dss_verify(), ssh_exchange_identification(), ssh_hex2raw(), ssh_kex2(), ssh_login(), ssh_login_or_reuse_connection(), ssh_open_channel(), ssh_recv(), ssh_reuse_connection(), ssh_rsa_verify(), ssh_userauth2(), update_window_size()
telnet_func.inc
get_telnet_banner(), set_telnet_banner()
tftp.inc
tftp_get(), tftp_put()
ubuntu.inc
deb_str_cmp(), ubuntu_check(), ubuntu_ver_cmp()
uddi.inc
create_uddi_xml ()
version_func.inc
find_bin(), get_bin_version(), get_string_version(), version_is_equal(), version_is_greater(), version_is_greater_equal(), version_is_less(), version_is_less_equal(), version_test()

Knowledge BaseNASL API DocumentationFunctions from the NASL Library