java中的接口是类吗
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~