Code Monkey home page Code Monkey logo

practicing-project's Introduction

Practicing Project

练手项目 Project Scope

最终成果

项目最终的名称就叫练手项目或Practicing Project,因为反正是用来练手的……项目最终应为完成的App(要有GUI吗?待定),可运行于Win/Linux系统上。项目最终包含客户端和服务端两个部分,客户端能完整地实现收集指定社交App的数据,并上传到服务端;服务端能将收集到的数据存储于服务器的数据库里。

项目功能流程图

项目限制

人数:2人+(万一以后还会有人来呢。。。)

开发环境:C++(版本待定),CMake,Docker或虚拟机,CLion,SQL(具体版本待定)

库(已知):libpcap

参考书籍

(待未来填充……)

时间:自由宽裕

可能需要的特点

  • GUI
  • Unit Test

可能面对的困难

  • 加密传输,基本上你什么都不能做
  • 基本

阶段目标

  • 完成配置开发环境,完成相关知识的学习

  • 完成基础的服务端/客户端交互

    • 成功让服务端存储客户端发送的简单数据至数据库即可视作通过阶段
  • 初步实现基础的抓取App数据

    • 采用Man In the Middle方式进行抓取。可参考Burp,Wireshark,iOS上的Stream;可能可以进一步参考Fiddler会提供哪些选项。。?
    • 弄清楚如何抓取HTTP的数据
    • 对HTTPS的信息需要生成SSL证书并能使本地认证该证书
    • 抓取后直接print出来即可视作通过阶段。可能需要考虑UTF-8等编码问题。。?
  • 初步完成抓取App数据并上传至数据库里的完整功能

    • 服务端可以就是本地机。。。

    • 以任意方式存储成功即可视作通过阶段。同样可能需要考虑编码问题

  • 后续优化、功能增强(越到后面越不切实际):

    • 设计抓取的信息内容(要不要header?是否包含预处理?)、传输数据的统一格式(RAW?序列化?加密传输……?)
    • 设计存储信息的数据库table
    • 设计GUI方便浏览?
    • 尝试支持两三个社交App,在更以后的时候再考虑更多App。目前认为可以试水的App有Tinder,Discord,豆瓣(??)
    • 设计各种额外功能的API,譬如专门从数据库中提取聊天记录文字的function,加密解密等(异想天开)
    • 多语言支持或调用,例如Rust/Python接口……

practicing-project's People

Contributors

mudroadwhite avatar

Watchers

James Cloos avatar  avatar

practicing-project's Issues

Project Scope

练手项目 Project Scope

最终成果

项目最终的名称就叫练手项目或Practicing Project,因为反正是用来练手的……项目最终应为完成的App(要有GUI吗?待定),可运行于Win/Linux系统上。项目最终包含客户端和服务端两个部分,客户端能完整地实现收集指定社交App的数据,并上传到服务端;服务端能将收集到的数据存储于服务器的数据库里。

项目功能流程图

项目限制

人数:2人+(万一以后还会有人来呢。。。)

开发环境:C++(版本待定),CMake,Docker或虚拟机,CLion,SQL(具体版本待定)

库(已知):libpcap

参考书籍

(待未来填充……)

时间:自由宽裕

可能需要的特点

  • GUI
  • Unit Test

可能面对的困难

  • 加密传输,基本上你什么都不能做
  • 画饼太大
  • C++各种bug

阶段目标

  • 完成配置开发环境,完成相关知识的学习

  • 完成基础的服务端/客户端交互

    • 成功让服务端存储客户端发送的简单数据至数据库即可视作通过阶段
  • 初步实现基础的抓取App数据

    • 采用Man In the Middle方式进行抓取。可参考Burp,Wireshark,iOS上的Stream;可能可以进一步参考Fiddler会提供哪些选项。。?
    • 弄清楚如何抓取HTTP的数据
    • 对HTTPS的信息需要生成SSL证书并能使本地认证该证书
    • 抓取后直接print出来即可视作通过阶段。可能需要考虑UTF-8等编码问题。。?
  • 初步完成抓取App数据并上传至数据库里的完整功能

    • 服务端可以就是本地机。。。

    • 以任意方式存储成功即可视作通过阶段。同样可能需要考虑编码问题

  • 后续优化、功能增强(越到后面越不切实际):

    • 设计抓取的信息内容(要不要header?是否包含预处理?)、传输数据的统一格式(RAW?序列化?加密传输……?)
    • 设计存储信息的数据库table
    • 设计GUI方便浏览?
    • 尝试支持两三个社交App,在更以后的时候再考虑更多App。目前认为可以试水的App有Tinder,Discord,豆瓣(??)
    • 设计各种额外功能的API,譬如专门从数据库中提取聊天记录文字的function,加密解密等(异想天开)
    • 多语言支持或调用,例如Rust/Python接口……

PP Part 1 Progress

Practice Project Part 1 进度

目标:学习相关知识。

目标内容

目前的知识学习主要分两类:

  1. 怎样子配置C++环境
  2. 抓取聊天记录的具体原理是什么

进展

Point 1:

  1. ~~书找不到。换一本?~~已找到。准备阅读,大家一起佛系……

Point 2:

  1. 目前确定的目标是从整体上理解man in the middle在http上面是如何工作的。方法:学会任意一个抓包软件的使用方式,例如ios上的stream,pc上的burp等。因为这些抓包软件的抓包方式大同小异,所以不同的抓包软件可以保证学到相同的内容。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.