|
1 | 1 | ProxyChains ver 4.0 README |
2 | 2 | ========================== |
3 | 3 |
|
| 4 | + ProxyChains is a UNIX program, that hooks network-related libc functions |
| 5 | + in dynamically linked programs via a preloaded DLL and redirects the |
| 6 | + connections through SOCKS4a/5 or HTTP proxies. |
| 7 | + |
4 | 8 | *********** ATTENTION *********** |
5 | 9 |
|
6 | | -this program works only on dynamically linked programs. |
7 | | -also both proxychains and the program to call must use |
8 | | -the same dynamic linker (i.e. same libc) |
| 10 | + this program works only on dynamically linked programs. |
| 11 | + also both proxychains and the program to call must use |
| 12 | + the same dynamic linker (i.e. same libc) |
9 | 13 |
|
10 | 14 | ********************************* |
11 | 15 |
|
| 16 | +*** Known limitations of the current version: *** |
| 17 | + |
| 18 | + when a process forks, does a DNS lookup in the child, and then uses |
| 19 | + the ip in the parent, the corresponding ip mapping will not be found. |
| 20 | + this is because the fork can't write back into the parents mapping table. |
| 21 | + IRSSI shows this behaviour, so you have to pass the resolved ip address |
| 22 | + to it. (you can use the proxyresolv script (requires "dig") to do so) |
| 23 | + |
| 24 | + this means that you can't currently use tor onion urls for irssi. |
| 25 | + to solve this issue, an external data store (file, pipe, ...) has to |
| 26 | + manage the dns <-> ip mapping. of course there has to be proper locking. |
| 27 | + shm_open, mkstemp, are possible candidates for a file based approach, |
| 28 | + the other option is to spawn some kind of server process that manages the |
| 29 | + map lookups. since connect() etc are hooked, this must not be a TCP server. |
12 | 30 |
|
13 | | -This is Unix version only. |
| 31 | + I am reluctant on doing this change, because the described behaviour |
| 32 | + seems pretty idiotic (doing a fork only for a DNS lookup), and irssi |
| 33 | + is currently the only known affected program. |
14 | 34 |
|
15 | | -How to mess with sources - How to Install : read INSTALL !!!!!! |
| 35 | +*** Installation *** |
16 | 36 |
|
17 | | -This program forces any tcp connection made by any given tcp client |
18 | | -to follow through proxy (or proxy chain). It is a kind of proxifier. |
19 | | -It acts like sockscap / permeo / eborder driver ( intercepts TCP calls ) |
20 | | -It is FREE. |
| 37 | + # needs a working C compiler, preferably gcc |
| 38 | + ./configure |
| 39 | + make |
| 40 | + sudo make install |
21 | 41 |
|
22 | 42 | Changelog: |
23 | 43 | ---------- |
@@ -74,21 +94,21 @@ proxychains looks for config file in following order: |
74 | 94 |
|
75 | 95 | Usage Example: |
76 | 96 |
|
77 | | - bash$ proxychains telnet targethost.com |
| 97 | + $ proxychains telnet targethost.com |
78 | 98 |
|
79 | 99 | in this example it will run telnet through proxy(or chained proxies) |
80 | 100 | specified by proxychains.conf |
81 | 101 |
|
82 | 102 | Usage Example: |
83 | 103 |
|
84 | | - bash$ proxychains -f /etc/proxychains-other.conf targethost2.com |
| 104 | + $ proxychains -f /etc/proxychains-other.conf targethost2.com |
85 | 105 |
|
86 | 106 | in this example it will use different configuration file then proxychains.conf |
87 | 107 | to connect to targethost2.com host. |
88 | 108 |
|
89 | 109 | Usage Example: |
90 | 110 |
|
91 | | - bash$ proxyresolv targethost.com |
| 111 | + $ proxyresolv targethost.com |
92 | 112 |
|
93 | 113 | in this example it will resolve targethost.com through proxy(or chained proxies) |
94 | 114 | specified by proxychains.conf |
|
0 commit comments