Disini yang akan kita pake adalah 3proxy. bisa dilihat di website sumbernya langsung yaitu : http://security.nnov.ru/soft/3proxy/
Ketika artikel ini ditulis 3proxy sudah mencapai versi stable dan devel yaitu :
3proxy-0.5.3g.tgz <<< versi stable nya
3proxy-0.6-devel.tgz <<< versi develnya
Ok kita mulai saja download dari websitenya saya akan ambil contol yang devel saja:
wget http://security.nnov.ru/soft/3proxy/current/3proxy-0.6-devel.tgz
misal kita letakkan di /home/ardan << disini username saya
lalu kita extract dengan perintah
tar -zxvf 3proxy-0.6-devel.tgz
setelah itu kita masuk ke directory 3proxy-0.6-devel
kita coba ketik perintah ls
[root@brazzstation 3proxy]# ls
authors contrib Makefile.am Makefile.inc Makefile.msvc Makefile.Solaris-gcc man scripts
cfg copying Makefile.ccc Makefile.intl Makefile.msvc64 Makefile.unix news src
Changelog doc Makefile.debug Makefile.Linux Makefile.Solaris Makefile.win Readme
[root@brazzstation 3proxy]#
kemudian mari kita compile saja
[root@brazzstation 3proxy]# make -f Makefile.Linux
cat Makefile.Linux > src/Makefile.var
make[1]: Entering directory `/home/ardan/3proxy/src’
cd .. && cat copying
3proxy 0.6 Public License Agreement
This software provided “as is” without any guaranties or support.
This software is FREEWARE. You can use it under terms of current version
of GNU GPL (General Public License) available from
http://www.gnu.org/licenses/gpl.txt or under conditions below:
1. You are granted non-exclusive rights to compile, modify, use and
re-distribute this program.
2. In case this software is redistributed in binary form, source code
MUST be available for user for free.
3. In case this software redistributed embedded in hardware device or
pre-installed version of operation system and source code is not available,
documentation MUST refer to http://www.security.nnov.ru/ as a source of
software.
4. In case this software is modified or is used as a part of another project
license MUST NOT be modified.
5. Authors of this software MAY change terms of this license for future
versions of this product.
(c) 2000-2004 by 3APA3A (3APA3A@security.nnov.ru)
(c) 2000-2004 by SECURITY.NNOV (http://www.security.nnov.ru)
(c) 2000-2004 by Vladimir Dubrovin (vlad@sandy.ru)
This software uses:
RSA Data Security, Inc. MD4 Message-Digest Algorithm
RSA Data Security, Inc. MD5 Message-Digest Algorithm
$Id: copying,v 1.1 2006/02/13 16:08:03 vlad Exp $
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL 3proxy.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL srvfuncs.c
gcc -o tcpmainfunc.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DMODULEMAINFUNC=tcpmainfunc proxymain.c
gcc -o udpmainfunc.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DMODULEMAINFUNC=udpmainfunc -DUDP proxymain.c
gcc -o srvproxy.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL proxy.c
gcc -o srvpop3p.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL pop3p.c
gcc -o srvftppr.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL ftppr.c
gcc -o srvsocks.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL socks.c
gcc -o srvtcppm.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL tcppm.c
gcc -o srvudppm.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL udppm.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL sockmap.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL sockgetchar.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL myalloc.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL common.c
common.c: In function `my_gethostbyname’:
common.c:696: warning: passing arg 5 of `gethostbyname_r’ from incompatible pointer type
common.c:698: warning: return from incompatible pointer type
gcc -o auth.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL auth.c
gcc -o datatypes.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL datatypes.c
gcc -o md4.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL libs/md4.c
gcc -o md5.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL libs/md5.c
gcc -o mycrypt.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL mycrypt.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL base64.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL ftp.c
gcc -o smbdes.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL libs/smbdes.c
gcc -o ntlm.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL ntlm.c
gcc -o stringtable.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL stringtable.c
gcc -o srvwebadmin.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL webadmin.c
webadmin.c:78: warning: `templateprint’ defined but not used
gcc -o srvdnspr.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL dnspr.c
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL plugins.c
plugins.c:12: warning: array `proxy_stringtable’ assumed to have one element
gcc -o 3proxy -Wall -O2 -pthread -ldl 3proxy.o srvfuncs.o tcpmainfunc.o udpmainfunc.o auth.o datatypes.o srvproxy.o srvpop3p.o srvftppr.o srvsocks.o srvtcppm.o srvudppm.o sockmap.o sockgetchar.o myalloc.o common.o mycrypt.o md5.o md4.o base64.o ftp.o smbdes.o ntlm.o stringtable.o srvwebadmin.o srvdnspr.o plugins.o
gcc -o mycryptmain.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN mycrypt.c
gcc -o mycrypt -Wall -O2 -pthread -ldl md4.o md5.o base64.o mycryptmain.o
gcc -o dighosts.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL dighosts.c
gcc -o dighosts -Wall -O2 -pthread -ldl dighosts.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DNOPORTMAP pop3p.c
gcc -o pop3p -Wall -O2 -pthread -ldl sockmap.o pop3p.o sockgetchar.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DNOPORTMAP ftppr.c
gcc -o ftppr -Wall -O2 -pthread -ldl sockmap.o ftppr.o sockgetchar.o myalloc.o common.o ftp.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DPORTMAP tcppm.c
gcc -o tcppm -Wall -O2 -pthread -ldl sockmap.o sockgetchar.o tcppm.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DPORTMAP -DUDP udppm.c
gcc -o udppm -Wall -O2 -pthread -ldl sockmap.o sockgetchar.o udppm.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DNOPORTMAP socks.c
gcc -o socks -Wall -O2 -pthread -ldl sockmap.o socks.o sockgetchar.o myalloc.o common.o
gcc -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITHMAIN -DNOPORTMAP -DANONYMOUS proxy.c
gcc -o proxy -Wall -O2 -pthread -ldl sockmap.o proxy.o sockgetchar.o myalloc.o common.o base64.o ftp.o
gcc -o countersutil.o -Wall -g -O2 -c -pthread -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL countersutil.c
countersutil.c:136:2: warning: no newline at end of file
gcc -o countersutil -Wall -O2 -pthread -ldl countersutil.o
make[1]: Leaving directory `/home/ardan/3proxy/src’
[root@brazzstation 3proxy]# ls
authors contrib Makefile.am Makefile.inc Makefile.msvc Makefile.Solaris-gcc man scripts
cfg copying Makefile.ccc Makefile.intl Makefile.msvc64 Makefile.unix news src
Changelog doc Makefile.debug Makefile.Linux Makefile.Solaris Makefile.win Readme
[root@brazzstation 3proxy]# cd src
[root@brazzstation src]# ls
3proxy datatypes.c Makefile ntlm.o smbdes.o srvpop3p.o tcppm.o
3proxy.c datatypes.o Makefile.inc plugins sockgetchar.c srvproxy.o udpmainfunc.o
3proxy.o dighosts Makefile.var plugins.c sockgetchar.o srvsocks.o udppm
auth.c dighosts.c md4.o plugins.o sockmap.c srvtcppm.o udppm.c
auth.o dighosts.o md5.o pop3p sockmap.o srvudppm.o udppm.o
base64.c dnspr.c myalloc.c pop3p.c socks srvwebadmin.o webadmin.c
base64.o ftp.c myalloc.o pop3p.o socks.c stringtable.c
common.c ftp.o mycrypt proxy socks.o stringtable.o
common.o ftppr mycrypt.c proxy.c srvdnspr.o structures.h
countersutil ftppr.c mycryptmain.o proxy.h srvftppr.o tcpmainfunc.o
countersutil.c ftppr.o mycrypt.o proxymain.c srvfuncs.c tcppm
countersutil.o libs ntlm.c proxy.o srvfuncs.o tcppm.c
[root@brazzstation src]#
nah selesai kita install nya sekarangmari kita pelajari
berikut ini adalah yang akan kita pake :
* proxy HTTP/HTTPS proxy with FTP over HTTP support
* ftp FTP proxy
* socks SOCKS v4/4+/5 proxy
* pop3p POP3 proxy
* tcppm TCP port mapper
* udppm UDP port mapper
nah udah tahu khan maksudnya dan fungsy dari masing2 file itu. sekarang kita langsung cobain file proxy
untuk comand nya bisa nanti dilihat disitusnya lebih lengkapnya (takut main kopi paste + males nulis panjang gede lebar anunya)
http://security.nnov.ru/soft/3proxy/howtoe.asp
kita bisa langsung jalankan
./proxy <<< yang akan default menjadi begini proxy akan listen pada port 3128 dengan ip komputer yang terinstall misalnya 192.168.1.1
jika kita ketik ./proxy -d -p6969 -i192.168.1.1
artinya kita buat mode daemon proxy listen port kita rubah ke 6969 listen ip di 192.168.1.1
bisa juga kita jalankan sekaligus 3 (proxy,socks,pop3p)
dengan merubah file 3proxy.cfg yang harus berada dalam satu directory dengan file 3proxy contoh 3proxy.cfg
internal 127.0.0.1
external 192.168.1.1
proxy
socks -p6969
pop3p
yang artinya kita menjalankan 3 proxy sekaligus dengan ip listen localhost dengan default port (3128 untuk HTTP, 1080 untuk socks dan 110 untuk POP3P
mungkin cukup ini saja dulu jika ada pertanyaan silahkan masukan di comment .
jangan lupa baca radmi nya yach. and do more with this
thanks to google and http://security.nnov.ru