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检查字符串是否是正确ISBN的方法
Jul 11 Python
探究python中open函数的使用
Mar 01 Python
python运行其他程序的实现方法
Jul 14 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
Python中的函数作用域
May 07 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
Python中使用gflags实例及原理解析
Dec 13 Python
python计算二维矩形IOU实例
Jan 18 Python
python实现在线翻译功能
Mar 03 Python
Python如何将函数值赋给变量
Apr 28 Python
Python判断远程服务器上Excel文件是否被人打开的方法
Jul 13 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 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 时间日期操作实战
2011/08/26 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
在IE6下发生Internet Explorer cannot open the Internet site错误
2010/06/21 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
JS保存和删除cookie操作 判断cookie是否存在
2013/11/13 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
jquery编写日期选择器
2017/03/16 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
vue-socket.io跨域问题有效解决方法
2020/02/11 Javascript
React中Ref 的使用方法详解
2020/04/28 Javascript
浅谈vue 二级路由嵌套和二级路由高亮问题
2020/08/06 Javascript
python实现从字典中删除元素的方法
2015/05/04 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
python实现剪切功能
2019/01/23 Python
Python异常处理机制结构实例解析
2020/07/23 Python
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
公司门卫管理制度
2014/02/01 职场文书
物业管理专业自荐信
2014/07/01 职场文书
美术专业自荐信
2014/07/07 职场文书
幼儿教师个人总结
2015/02/05 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
2016清明节森林防火广播稿
2015/12/17 职场文书
《假如》教学反思
2016/02/17 职场文书