defector

package module
v0.0.0-...-496f71c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2021 License: GPL-3.0 Imports: 5 Imported by: 0

README

DefecTor

Tools for DefecTor attacks as described in The Effect of DNS on Tor’s Anonymity. Defector is short for DNS-enhanced fingerprinting and egress correlation on Tor.

Website: https://nymity.ch/tor-dns/

Our other repo with more code and documentation: https://github.com/NullHypothesis/tor-dns

Documentation

Overview

Package defector is a generated protocol buffer package.

It is generated from these files:

collect.proto

It has these top-level messages:

Req
Browse

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterCollectServer

func RegisterCollectServer(s *grpc.Server, srv CollectServer)

Types

type Browse

type Browse struct {
	ID         string `protobuf:"bytes,1,opt,name=ID,json=iD" json:"ID,omitempty"`
	URL        string `protobuf:"bytes,2,opt,name=URL,json=uRL" json:"URL,omitempty"`
	Timeout    int64  `protobuf:"varint,3,opt,name=Timeout,json=timeout" json:"Timeout,omitempty"`
	Data       []byte `protobuf:"bytes,4,opt,name=Data,json=data,proto3" json:"Data,omitempty"`
	AllTraffic bool   `protobuf:"varint,5,opt,name=AllTraffic,json=allTraffic" json:"AllTraffic,omitempty"`
}

Browse is a work item. If ID == "", then no work has been done (request) or is needed (reply).

func (*Browse) Descriptor

func (*Browse) Descriptor() ([]byte, []int)

func (*Browse) ProtoMessage

func (*Browse) ProtoMessage()

func (*Browse) Reset

func (m *Browse) Reset()

func (*Browse) String

func (m *Browse) String() string

type CollectClient

type CollectClient interface {
	Work(ctx context.Context, in *Req, opts ...grpc.CallOption) (*Browse, error)
}

func NewCollectClient

func NewCollectClient(cc *grpc.ClientConn) CollectClient

type CollectServer

type CollectServer interface {
	Work(context.Context, *Req) (*Browse, error)
}

type Req

type Req struct {
	WorkerID string  `protobuf:"bytes,1,opt,name=WorkerID,json=workerID" json:"WorkerID,omitempty"`
	Browse   *Browse `protobuf:"bytes,2,opt,name=Browse,json=browse" json:"Browse,omitempty"`
}

func (*Req) Descriptor

func (*Req) Descriptor() ([]byte, []int)

func (*Req) GetBrowse

func (m *Req) GetBrowse() *Browse

func (*Req) ProtoMessage

func (*Req) ProtoMessage()

func (*Req) Reset

func (m *Req) Reset()

func (*Req) String

func (m *Req) String() string

Directories

Path Synopsis
cmd
defector
Package main implements defector that runs two DefecTor attacks using:
Package main implements defector that runs two DefecTor attacks using:
dnsstats
Package main implements a tool that calculates statistics around DNS from a dataset of observed DNS traffic when visiting websites as ranked by Alexa.
Package main implements a tool that calculates statistics around DNS from a dataset of observed DNS traffic when visiting websites as ranked by Alexa.
extractdns
Package main implements a tool that extracts from DNS requests and responses in a pcap the observed domains, TTLs and IP-addresses.
Package main implements a tool that extracts from DNS requests and responses in a pcap the observed domains, TTLs and IP-addresses.
fext
Package main implements feature extraction from packet traces (".cells" files).
Package main implements feature extraction from packet traces (".cells" files).
server
Package main implements a simple server to distribute URLs to worker clients (see tbdnsw and tbw) and to collect the resulting data.
Package main implements a simple server to distribute URLs to worker clients (see tbdnsw and tbw) and to collect the resulting data.
tbdnsw
Package main implements a worker client to the collection server that attempts to browse to provided URLs using a specified Tor Browser.
Package main implements a worker client to the collection server that attempts to browse to provided URLs using a specified Tor Browser.
tbw
Package main implements a worker client for the collection server that attempts to browse to provided URLs using a specified Tor Browser.
Package main implements a worker client for the collection server that attempts to browse to provided URLs using a specified Tor Browser.
torlogext
torlogextract extracts, from ".torlog" files (generated by our data collection): - .dns files of observed DNS requests (same as the extractdns tool) - .cells files of celltraces in the Wa-kNN format (used by the fext tool)
torlogextract extracts, from ".torlog" files (generated by our data collection): - .dns files of observed DNS requests (same as the extractdns tool) - .cells files of celltraces in the Wa-kNN format (used by the fext tool)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL