想要做这样一个分析流量包的模仿wireshark的在线流量分析工具。今天是开始做的第一天,首先是确定了需求,并且搭建环境。
也学习到了一些新知识。这段时间基本会持续记录整一个实现过程,之后也会推到github上。

0x01 搭建环境

因为分析数据包有文件上传的需求,所以搭建的环境为linux+apache2+mongodb+python
其中,主要是学习了mongodb,由于以前用的都是关系型数据库,但mongodb是非关系型数据库(NoSQL)在使用上会有一些不同。安装过程可以参考:[http://www.runoob.com/mongodb/mongodb-linux-install.html] 写的很详细。

另外, python需要使用pymongo连接mongodb数据库。

搭建好环境之后需要学习一下mongodb数据库的使用,使用方法百度谷歌都可以搜到,有很多也写的很详细,如果想要深入了解那之后还要花许多时间,我就是稍微学了基本的使用方法,之后可以边做边学,这里就不多说了。

0x02 完成数据库的连接以及流量的载入

# coding=utf-8from pymongo import MongoClient
from scapy.all import *
import urllib2

分为几个模块,数据库的连接

def connect_db():client = MongoClient("localhost",27017)db = client.webshark_dbreturn db

获取数据库的条目

def show_entries():db = connect_db()pcaps  = db['pcaps']list=[]for pcap in pcaps.find():list.append(pcap)return list

获取数据包数量

def get_count(filename):packets = rdpcap(filename)return len(packets)

还写了通过网卡mac地址获得生产厂商信息的模块

'''
查询以太网卡生产厂商
传入mac地址(macad)
返回生产厂商名(name)
'''
def macprod(macad):maclist = macad.split(':')macstr = '-'.join(maclist).strip()url = 'http://api.macvendors.com/' + macstrtry:name = urllib2.urlopen(url,timeout=3).read()except urllib2.HTTPError:return 'null'except:return 'null'else:return name

今天的学习还没有结束,由于我的web基础比较弱,要学习一下JSON。因为mongodb的数据格式为BSON(即二进制形式JSON)。此外,由于用python搭建web,还需要学习一下flask框架,用于实现文件上传,下载,存储等模块。

预期完成时间是这周末,希望能在做的时候学到一些新知识,也觉得是有意义的了。

用python实现webshark(实现web版的wireshark功能)相关推荐

  1. Android辅助H5做一个Web版的相册功能

    主要是两个功能,返回相册列表给H5,和选中图片. 1.获取相册列表用伪造的图片http url,让H5容器先拿到列表,然后在img请求具体图片的时候使用shouldInterceptRequest拦截 ...

  2. RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍

    RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端 ...

  3. RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍

    RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端 ...

  4. RDIFramework.NET(.NET快速信息化系统开发框架) Web版界面样例(可参考)

    RDIFramework.NET(.NET快速信息化系统开发框架)  Web版介绍 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户 ...

  5. python快速启动一个web服务

    紧急情况下,需要远程访问或者下载某些文件和目录的时候,可以使用python自动的轻量级web来快速实现功能. 1.在服务端相关目录下启动一个http server,绑定端口 2.在客户端可以访问对应根 ...

  6. linux下nginx+python+fastcgi部署总结(web.py版)

    2019独角兽企业重金招聘Python工程师标准>>> 在上一篇文章linux下nginx+python+fastcgi部署总结(django版)中,我们部署了nginx+djang ...

  7. 利用python编写设计多线程web服务器(计算机网络_自顶向下第六版_第二章1和4的编程作业)

    今天翻看自己以前的博客时,发现了这则博客,距今大约也有一年多的时间了,觉得还是蛮有趣的一个作业,于是跟着博客又做了一遍,觉得之前的排版有点不大好,所以此番用markdown 稍微重做些修改更新一下博客 ...

  8. python管理系统web版_Python学生管理系统(web网页版)-Go语言中文社区

    前言:本项目是使用Python的Django的web框架搭建的,是一个完整的学生管理系统,功能包括基本的增删改查 项目演示图: 首页展示数据的页面(index.html) 添加学生的页面(add.ht ...

  9. python django mysql web页面多级联动_Python Web实战:Python+Django+MySQL实现基于Web版的增删改查...

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

最新文章

  1. README 规范和项目文档规范
  2. 名校算法博士找工作两月无果,因本科是不知名学校被婉拒
  3. 学习CSS 不错网址
  4. thinkphp3.2自定义success及error跳转页面
  5. python正则化_如何最简单、通俗地理解Python的正则化?
  6. 使用mcisendstring重复播放音乐文件
  7. 【JavaScript】离开页面前提示
  8. Python 里 and、or 的计算规则
  9. Hibernate检索方式简单总结
  10. php 框架测试,PHP测试框架PHPUnit组织测试操作示例
  11. 数据分析工作到底在做什么
  12. webservice 参数太大_webservice大数据
  13. python3.7安装Numpy库
  14. 中国地图着色问题c语言,中国地图四色染色问题.doc
  15. Fpdi实现pdf页面合并(php)
  16. mysql cmd 关闭防火墙_MySQL WorkBench:Failed to Connect to MySQL at XXX.XXX.XXX with user XXX
  17. 用mysql设计一个KTV点歌系统_KTV点歌系统(JAVA+MYSQL)
  18. 第二次项目《吃货联盟Plus》
  19. 自己整理的前端编码规范,各位码友们想到了其它的可以留言补充
  20. 十分钟学习nfs服务器

热门文章

  1. 【C语言】统计学生平均成绩与及格人数
  2. synchronized为什么能解决线程安全问题?
  3. 基于sklearn的线性回归模型实现多变量决策树
  4. 内蒙古软件开发电脑公司一览表
  5. SpringMvc 限流之 RateLimiter
  6. java计算机毕业设计微博网站源程序+mysql+系统+lw文档+远程调试
  7. 自动调节系统解析与PID整定 汽包液位控制-白志刚
  8. modle bulinder 实践1.Excel坐标转面
  9. php威客任务平台源码 PHP手机免签兼职任务平台源码
  10. MarkDown语言的使用_追逐梦想的顾咏丰_新浪博客