nmap整体流程1

网友投稿 231 2022-10-24


nmap整体流程1

一、环境

nmap-7.80、Windows10、VMware

二、主体流程

分为了三个分支

main.cc main() //分支1.检查环境变量 NMAP_ARGS //    如果有,则提取环境变量NMAP_ARGS中的值,并且拼接命令行中的参数 //    进入nmap_main() //分支2.检查命令行参数,如果只有三个参数,并且第二个参数为 --resume        从日志文件中加载上次终止状态,继续上次终止时开始运行 //     进入 nmap_main() //分支3. 进入 nmap_main()

真正的主函数为 nmap_main()

2.1 解析命令行参数

nmap_main() ->     ...     parse_options()// 解析命令行参数         ...         struct option long_options[] = {...} //定义的长选项         46Ab:D:d::e:Ffg:hIi:M:m:nO::o:P::p:qRrS:s::T:Vv:: //短选项         //无冒号的选项表示无参数         //一个冒号的选项表示必须有参数,否则报错;参数和选项中可以有空格,也可以没有;eg. -D123 or -D 123         //两个冒号的选项表示参数是可选的;但是有参数时,选项与参数之间不能有空格                  //将命令行参数解析到 全局对象NmapOps o 中         //同时将一些涉及时间的参数 解析到 静态全局变量 static struct delayed_options delayed_options 中

2.2 处理选项

nmap_main() -> ...     apply_delayed_options()         ...         //如果配置了 -O 选项进行扫描操作系统          //     或则 -A 并且是root权限时,          //则加载操作系统指纹文件         parse_fingerprint_reference_file("nmap-os-db")          ...                  //扫描端口处理         validate_scan_lists()         ...                  //各个参数之间关系的校验,并输出日志         ...                  //其他选项的一些处理

2.3 循环进行处理

do{     ... }while()


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:黑盒测试、白盒测试、灰盒测试之间的区别-乐搏软件学院
下一篇:nmap编译
相关文章

 发表评论

暂时没有评论,来抢沙发吧~