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中处理时间的几种方法小结
Apr 09 Python
Python 爬虫的工具列表大全
Jan 31 Python
django批量导入xml数据
Oct 16 Python
Python序列操作之进阶篇
Dec 08 Python
一个基于flask的web应用诞生 组织结构调整(7)
Apr 11 Python
使用pandas read_table读取csv文件的方法
Jul 04 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
Oct 28 Python
python next()和iter()函数原理解析
Feb 07 Python
python高阶函数map()和reduce()实例解析
Mar 16 Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 Python
pycharm 使用tab跳出正在编辑的括号(){}{}等问题
Feb 26 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上传图片、删除图片简单实例
2016/11/12 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
javascript html 静态页面传参数
2009/04/10 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
JS中产生标识符方式的演变
2015/06/12 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
2015/09/20 Javascript
利用jQuery和CSS将背景图片拉伸
2015/10/16 Javascript
IE下JS保存图片的简单实例
2016/07/15 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
vue路由的配置和页面切换详解
2020/09/09 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
Python的gevent框架的入门教程
2015/04/29 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
Flask框架各种常见装饰器示例
2018/07/17 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
英国历史最悠久的DJ设备供应商:DJ Finance、DJ Warehouse、The DJ Shop
2019/09/04 全球购物
高级销售求职信
2014/02/21 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
私人委托书格式
2014/09/10 职场文书
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
铅球加油稿100字
2014/09/26 职场文书
学校通报表扬范文
2015/05/04 职场文书
大国崛起观后感
2015/06/02 职场文书
2016年“六一儿童节”校园广播稿
2015/12/17 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
python数字类型和占位符详情
2022/03/13 Python