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 相关文章推荐
Django学习笔记之ORM基础教程
Mar 27 Python
如何利用python查找电脑文件
Apr 27 Python
对python程序内存泄漏调试的记录
Jun 11 Python
pyshp创建shp点文件的方法
Dec 31 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
提升Python效率之使用循环机制代替递归函数
Jul 23 Python
Django 拆分model和view的实现方法
Aug 16 Python
Python lambda表达式filter、map、reduce函数用法解析
Sep 11 Python
python实现二分类的卡方分箱示例
Nov 22 Python
Python调用百度OCR实现图片文字识别的示例代码
Jul 17 Python
python实现双链表
May 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数组的维度
2013/06/10 PHP
php格式化日期和时间格式化示例分享
2014/02/24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
拖拉表格的JS函数
2008/11/20 Javascript
javascript 跳转代码集合
2009/12/03 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
JS实现自动阅读单词(有道单词本添加功能)
2016/11/14 Javascript
微信小程序 PHP生成带参数二维码
2017/02/21 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
vue搜索和vue模糊搜索代码实例
2019/05/07 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
python采用getopt解析命令行输入参数实例
2014/09/30 Python
Python2.x与Python3.x的区别
2016/01/14 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
python爬虫添加请求头代码实例
2019/12/28 Python
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
Boden澳大利亚官网:英国在线服装公司
2018/08/05 全球购物
网络工程师个人的自我评价范文
2013/10/01 职场文书
大学生年度自我鉴定
2013/10/31 职场文书
教师岗位聘任书范文
2014/03/29 职场文书
出国留学经济担保书
2014/04/01 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
MySQL的意向共享锁、意向排它锁和死锁
2022/07/15 MySQL