- N +

DNMAP-探索twisted的秘密

原标题:DNMAP-探索twisted的秘密

导读:

...

文章目录 [+]

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


昨晚看到微信公众账号,有一篇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。


有好的文章希望我们帮助分享和推广,猛戳这里我要投稿

返回列表
上一篇:
下一篇:

发表评论中国互联网举报中心

快捷回复:

    评论列表 (暂无评论,共7688人参与)参与讨论

    还没有评论,来说两句吧...