Python实现TCP探测目标服务路由轨迹的原理与方法详解


Posted in Python onSeptember 04, 2019

本文实例讲述了Python实现TCP探测目标服务路由轨迹的原理与方法。分享给大家供大家参考,具体如下:

一 点睛

在此次实践中,通过scapy的traceroute()方法实现探测机到目标服务器的路由轨迹,整个过程的原理见下图,首先通过探测机以SYN方式进行TCP服务扫描,同时启动tcpdump进行抓包,捕获扫描过程经过的所有路由点,再通过graph()方法进行路由IP轨迹绘制,中间调用ASN映射查询IP地理信息并生成svg流程文档,最后使用ImageMagick工 具将svg格式转换成png,流程结束。

Python实现TCP探测目标服务路由轨迹的原理与方法详解

二 代码

# -*- 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探测目标服务路由轨迹的原理与方法详解

Python实现TCP探测目标服务路由轨迹的原理与方法详解

四 参考

https://github.com/secdev/scapy/issues/1480

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python操作Mysql实例代码教程在线版(查询手册)
Feb 18 Python
Python 逐行分割大txt文件的方法
Oct 10 Python
python实现用户管理系统
Jan 10 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
python主线程捕获子线程的方法
Jun 17 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
python画图把时间作为横坐标的方法
Jul 07 Python
Python实现Singleton模式的方式详解
Aug 08 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
python中关于数据类型的学习笔记
Jul 19 Python
Python读取Excel一列并计算所有对象出现次数的方法
Sep 04 Python
使用python实现学生信息管理系统
Feb 25 Python
基于python全局设置id 自动化测试元素定位过程解析
Sep 04 #Python
Django框架 querySet功能解析
Sep 04 #Python
Django框架 查询Extra功能实现解析
Sep 04 #Python
Django框架 Pagination分页实现代码实例
Sep 04 #Python
python 动态迁移solr数据过程解析
Sep 04 #Python
Django框架 信号调度原理解析
Sep 04 #Python
Django Admin中增加导出Excel功能过程解析
Sep 04 #Python
You might like
PHP扩展开发入门教程
2015/02/26 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
PHP实现用session来实现记录用户登陆信息
2018/10/15 PHP
js 格式化时间日期函数小结
2010/03/20 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
2015/12/29 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
详解vuex的简单使用
2018/03/12 Javascript
js正则相关知识点专题
2018/05/10 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
在vue项目中引用Iview的方法
2018/09/14 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
python3使用GUI统计代码量
2019/09/18 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
移动端开发HTML5页面点击按钮后出现闪烁或黑色背景的解决办法
2018/09/19 HTML / CSS
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
耐克美国官网:Nike.com
2016/08/01 全球购物
香港百佳网上超级市场:PARKNSHOP.com
2020/06/10 全球购物
简历自我评价怎么写呢?
2014/01/06 职场文书
青年志愿者活动总结
2014/04/26 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
应届毕业生自荐信
2014/05/28 职场文书
室内趣味活动方案
2014/08/24 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
索赔员岗位职责
2015/02/15 职场文书
2015年老干部工作总结
2015/04/23 职场文书