資源簡介
【實例簡介】
ShadowSocks(SS) traffic sniffer
ShadowSocks以其隨機性功能而聞名。但是,通常不希望連接的第一個數據包是隨機的。即使在TLS會話中,我們也希望在握手階段看到一些純文本部分。因此,只需查看最初的幾個數據包并計算其熵(作為對隨機性的一種度量),就可以檢測ShadowSocks流量。加上一些小的調整,此方法就足以高精度地檢測當前的ShadowSocks協議。
【核心代碼】
sssniff-master
├── README.md
├── requirements.txt
└── sssniff.py
0 directories, 3 files
代碼片段和文件信息
#!?/usr/bin/env?python
from?scipy.stats?import?entropy
from?scapy.all?import?*
import?numpy?as?np
import?dpkt
def?conn(ip1?ip2?port1?port2):
swap?=?False
if?ip1?>?ip2:
ip1?ip2?=?ip2?ip1
port1?port2?=?port2?port1
swap?=?True
if?ip1?==?ip2?and?port1?>?port2:
port1?port2?=?port2?port1
swap?=?True
return?(ip1?ip2?port1?port2)?swap
def?dist(str):
p?=?np.zeros(256)
for?i?in?str:
p[ord(i)]?+=?1
return?p
score?=?{}
blocked?=?{}
thres?=?15
def?add_score(c?x):
if?blocked.has_key(c):
return
if?not?score.has_key(c):
score[c]?=?x
else:
score[c]?+=?x
if?score[c]?>=?thres:
print?c
blocked[c]?=?True
def?add(c?x):
add_score((c[0]?c[2])?x)
add_score((c[1]?c[3])?x)
track?=?{}
def?sniffer(pkt):
ip?=?pkt.payload
tcp?=?ip.payload
c?s?=?conn(ip.src?ip.dst?tcp.sport?tcp.dport)
if?tcp.flags?&?dpkt.tcp.TH_SYN?!=?0:
track[c]?=?[]
if?not?track.has_key(c):
return
if?tcp.flags?&?dpkt.tcp.TH_FIN?!=?0?or?tcp.flags?&?dpkt.tcp.TH_RST?!=?0:
del?track[c]
return
if?tcp.flags?&?dpkt.tcp.TH_PUSH?!=?0:
track[c].append((entropy(dist(str(tcp.payload)))?s))
if?len(track[c])?>=?4:
if?track[c][0][0]?>?4.8?or?\
???(track[c][0][0]?>?4.4?and?track[c][1][0]?>?4.2)?or?\
???(track[c][0][0]?>?4.2?and?track[c][2][0]?>?4.2?and?\
track[c][0][1]?==?track[c][2][1])?or?\
???track[c][0][1]?==?track[c][1][1]:
add(c?1)
else:
add(c?-1)
del?track[c]
sniff(filter=‘tcp‘?store=False?prn=sniffer)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-03-25?20:39??sssniff-master\
?????文件????????1325??2017-03-25?20:39??sssniff-master\README.md
?????文件??????????30??2017-03-25?20:39??sssniff-master\requirements.txt
?????文件????????1478??2017-03-25?20:39??sssniff-master\sssniff.py
- 上一篇:基于表面肌電的手勢識別.py
- 下一篇:《Python從小白到大牛》源代碼
評論
共有 條評論
相關資源
- 查找兩個路徑中相同文件(get_same_f
- 機器學習numpy和pandas基礎
- Python 3 Web Development. Beginners Guide
- 模擬自動滑塊驗證碼.py(基于chromed
- Supervised Learning with Python
- tensorflow2.0 yolo3目標檢測算法
- numpy,pandas,matplotlib速查手冊
- CpuMemSets在Linux操作系統中的實現
- python實現SGBM圖像匹配算法
- scrapy_qunar_one
- python +MYSQL+HTML實現21蛋糕網上商城
- Python操作Excel表格并將其中部分數據寫
- 圖標連連看--js版連連看
- python3.5可用的scipy
- 計算機科學導論-python.pdf
- windows鼠標自動點擊py腳本
- python機器學習Sebastian Raschka中文最新完
- MNIST手寫體數字訓練/測試數據集(圖
- abaqus 網格自動劃分插件 python語言
- python3.5.4_windows下32與64位安裝包
- 12306火車班次.zip
- SIFT源碼python實現
- python pygame 自制飛機大戰游戲(加入
- RSA_python
- 圖像分割-snake算法 python版本
- python數據分析源代碼Ivan Idris
- 用python的pyecharts模塊繪制世界地圖疫
- tensorflow制作自己的灰度圖像數據集并
- Deep Learning Cookbook_ practical recipes to g
- selenium中python包&對應版本的firefox