Skip to content

Instantly share code, notes, and snippets.

View bitdust's full-sized avatar
🎯
Focusing

bitdust bitdust

🎯
Focusing
View GitHub Profile
@klzgrad
klzgrad / Traffic analysis survey.md
Last active March 17, 2024 09:49
流量分类调研

为什么流量可以进行分类

这里的“流量”一般定义为中间人观测到的一组由(时间,方向,包大小)元数据组成的序列 [Cai2014]。其源头是应用层的读写操作,经过传输层协议的变换(分片、协议状态机、加密等),流量序列产生一定变化。但是这种变化非常有限,因为流量的发生过程本质是确定性的,随机因素较小,因此对于特定环境中的特定应用(浏览器访问 google.com)各种流量特征体现出相当大的一致性和独特性,这就使“从流量特征识别应用”的监督学习问题成为可能。虽然有若干不利因素使得确定性下降,例如多层次上软件多版本的排列组合爆炸、有状态的缓存、流水线和连接复用、用户随机行为,但是因为版本的幂律分布、应用层读写操作间的依赖关系、流量特征和检测算法的改进等原因,分类依然具有相当的可行性。

分类的对象:流量应用分类与网站指纹攻击

根据分类的对象产生了两个相近但是不同的研究领域。从流量特征中分类应用类型的被称为流量分类(traffic classification),从流量特征中分类所访问网站或者网页的被称为网站指纹(website fingerprinting)。以机器学习的方法而论前者是比后者更弱但本质相同的一个问题。

这两类攻击的威胁类型不同。流量分类威胁的是可用性,如果GFW检出流量是隧道应用然后进行封锁,则破坏了可用性。而网站指纹威胁的是匿名性和隐私,如果从隐秘流量中检出是谁在访问哪个网站,则破坏了匿名性,丝绸之路就是这样被FBI破获的。

@GameXG
GameXG / a.py
Last active June 23, 2017 12:09
# 实际执行任务的进程是 multiprocessing.Process 启动的,主进程会等待子进程结束并检查 exitcode 0.
# 另外如果多次任务执行失败会重启操作系统。
# 实际用法:
# with TaskHeartbeat(host_id, secret_key, task['id'], task['timeout']):
# 实际任务
class TaskHeartbeat(threading.Thread):
def __init__(self, host_id, secret_key, task_id, timeout):
Example: https://denpa.moe/~syrup/himawari8.png
@lanceliao
lanceliao / dnsmasq-gfwlist.py
Last active August 18, 2023 11:26
将gfwlist转换成带ipset的dnsmasq规则,适用于OpenWrt智能上网
#!/usr/bin/env python
#coding=utf-8
#
# Generate a list of dnsmasq rules with ipset for gfwlist
#
# Copyright (C) 2014 http://www.shuyz.com
# Ref https://code.google.com/p/autoproxy-gfwlist/wiki/Rules
import urllib2
import re
import random
import sys
def print_grid(grid):
print ("\n%s\n" % "+".join([('-' * 4)] * 4)).join(
["|".join(["%4d" % item if item > 0 else " " * 4 for item in line]) for line in grid])
def get_available_cells(grid):
@XayOn
XayOn / wigle.py
Created December 27, 2011 16:36
Wigle.net Parser
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Based on http://github.com/XayOn/Python-tuenti
Login class because of extreme lazyness.
Copyright (C) 2011 David Francos Cuartero (XayOn)
Made for thex1le who was working on this idea with urllib2.
This software is GPL2+
"""