这篇文章主要介绍了Python如何实现TCP探测目标服务路由轨迹,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
具体如下:
一 点睛
在此次实践中,通过scapy的traceroute()
方法实现探测机到目标服务器的路由轨迹,整个过程的原理见下图,首先通过探测机以SYN方式进行TCP服务扫描,同时启动tcpdump进行抓包,捕获扫描过程经过的所有路由点,再通过graph()
方法进行路由IP轨迹绘制,中间调用ASN映射查询IP地理信息并生成svg流程文档,最后使用ImageMagick工 具将svg格式转换成png,流程结束。
二 代码
# -*- coding: utf-8 -*- import os,sys,time,subprocess import warnings,logging #屏蔽scapy 无用告警信息 warnings.filterwarnings("ignore", category=DeprecationWarning) #屏蔽模块IPv6 多余告警 logging.getLogger("scapy.runtime").setLevel(logging.ERROR) from scapy.all import traceroute #接受输入的域名或IP domains = raw_input('Please input one or more IP/domain: ') target = domains.split(' ') dport = [80] #扫描的端口列表 if len(target) >= 1 and target[0]!='': res,unans = traceroute(target,dport=dport,retry=-2) #启动路由跟踪 res.graph(target="> test.svg", ASres=None, type="svg") #生成svg矢量图形 time.sleep(1) #svg转png格式 subprocess.Popen("/usr/bin/convert test.svg test.png", shell=True) else: print "IP/domain number of errors,exit"
三 结果
感谢你能够认真阅读完这篇文章,希望小编分享的“Python如何实现TCP探测目标服务路由轨迹”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。