summaryrefslogtreecommitdiff
path: root/other/reverb/README
blob: 91b34d07e3a412709d3a4001dae13f781a5a2a23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116

reverb - connection adapter

by team teso



 1. motivation / description

    ehm... imagine two cables that are both male (meaning that the pins look
    out of it at the plug). imagine putting them together.
    now imagine the same for both two female plugs of a cable, you will fail
    also. what you need is a cable adapter with both female or male plugs.

    the same is true for tcp connections (wow, what a parallelism, i'm cool,
    am i ? :o)=, you can have active (male, yeah) and passive (female, :-)
    ports, ehm... sockets hehe. normally a connection has one active (male)
    and one passive (female) socket, and normally the male socket connects
    into^H^H^H^Hto the female socket. but what if you want to create a link
    between two sockets of the same type (male + male, female + female).
    although this is only needed few times (irl this is more often i think ;),
    it may be helpful. this is what reverb does.



 2. usage

    case a)

      normal tcp connection relay, from sourceport to an ip and remote port.

      reverb 2929 193.32.74.203:80

      will relay one (1) connection experienced on port 2929 to the ip and
      port specified.


    case b)

      accepting two connections relaying content.

      reverb 2992 2991

      will accept one (1) connection each on the ports and relay all content
      between them. it doesn't matter (tm) what port the first connection is
      established on.


    case c)

      establishing two connections, relaying content.

      reverb 193.32.74.203:80 210.167.178.38:80

      establishes two connections to each socketpair and relays the connection
      data among them.


 3. what for then ehm ?

    you can reverse (reverb ;) a connection establishing order this way. this
    is useful for a lot of things, such as firewall tunneling for internal
    connections or whatever.
    also you can see quickly what is send to a port, or you can link two char-
    gen ports via tcp, hey cool ehh ?

    conclusion: the ideal addition to tacten err.. netcat.

 4. new options


    times are given in formats like "10", "10s", "2m20s", "1d8h", ...


    -c time

    limits the connection timeout on every outgoing connection. once it is
    reached, reverb terminates.


    -l time

    same for the female part, the listening socket.


    -d

    daemon mode, go to background. also causes quiet mode.


    -q

    quiet mode, don't print all that nasty infos.


    -i time

    for active<->active setups you can instance a new connection with it
    every once a 'time'. for example you can use it to connect every five
    minutes to a host outside a firewalled network to allow yourself to
    ssh into the network from the outside
    (./reverb -d -q -i 5m ownedhost-in-local-network:22 my-home-host:9090
    on the owned host, and
     ./reverb -d -q -l 9090 2020;ssh -p 2020 root@localhost
    on my-home-host).



  visit us at teso.scene.at.

  team teso


  oh, and please send us feedback at teso@teso.scene.at.