正文 首页渗透测试

DNMAP-探索twisted的秘密

a mi

我是一个小菜,但是慢慢的发现自己有了程序员思想;慢慢努力.


昨晚看到微信公众账号,有一篇15个程序员要做到的;文章蛮不错的,受益匪浅. 多学习 多冲突 多死脑筋


twisted分布式扫描...


twisted 定时处理(task.LoopingCall) (factory内)


Reactor:是管理twisted框架的核心。所有的事件都会触发reactor,然后他会开启服务,初始化factory,factory再初始化protocol。


dnmap_server:
	开头用了try except来判断有没有类
	
	用twisted 弄异步分布式扫描.
	
	client_id.是每一个节点(nmap)
	
	timeout_idle_clients检查连接的客户端是否超时
	
	read_file_and_fill_nmap_variable读取文件里面;(就是命令指令?)(task.LoopingCall)
	
	ServerContextFactory(SSL证书)
	
	show_info (task.LoopingCall)
	
	send_one_more_command (包含在process_input_line这个函数里)
	
	process_input_line (包含在NmapServerProtocol里面的一个函数)
	
	NmapServerProtocol (factory.protocol)
	
	process_nmap_commands (main函数里面运行)
	
	
	factory = Factory()
	factory.protocol = NmapServerProtocol
	
	# Create the time based print
	loop = task.LoopingCall(show_info) #异步
	loop.start(5.0) # call every second

	# Create the time based file read
	loop2 = task.LoopingCall(read_file_and_fill_nmap_variable)
	loop2.start(30.0) # call every second

	# To mark idel clients as hold
	loop3 = task.LoopingCall(timeout_idle_clients)
	loop3.start(client_timeout) # call every second
	
	# Create the reactor
	reactor.listenSSL(port, factory, ServerContextFactory())
	reactor.run()
	
	Reactor:是管理twisted框架的核心。所有的事件都会触发reactor,然后他会开启服务,初始化factory,factory再初始化protocol。


dnmap_client:
	check_clean
	
	NmapClient(protocol)
	
	NmapClientFactory(factory)
	
	process_commands
	
 	reactor.connectSSL(str(server_ip), int(server_port), factory, ssl.ClientContextFactory())
	Reactor:是管理twisted框架的核心。所有的事件都会触发reactor,然后他会开启服务,初始化factory,factory再初始化protocol。


本文标题:DNMAP-探索twisted的秘密
本文链接:https://www.toobug.cn/post/959.html
作者授权:除特别说明外,本文由 a mi 原创编译并授权 TOOBUG信息安全网 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。

用TOOBUG官方小程序阅览更加简洁
-- 展开阅读全文 --