Friendster,Hacking,Cracking,Carding

Friendster,Hacking,Cracking,Carding

Masukan Nama Penyanyi - Judul Lagu

Mesin Cari Free Download Mp3 Gratis
Masukan Nama Penyanyi - Judul Lagu

Mesin Cari Free Download Mp3 Gratis

Socket programming dengan PHP

Written by ferry89 on 20.25


"Socket programming dengan PHP?? Masa bisa sih??"
tension
Itulah pertanyaan yang pernah dilontarkan oleh seseorang di IRC. Waktu itu saya juga bertanya-tanya,
mungkin gak ya?. Setelah buka-buka artikel dari master2 PHP, akhirnya

saya harus berterima kasih
kepada Daniel Solin. ya, karena PHP sendiri tidak menerangkan tentang basic understanding tentang apa
yang dimaksud dengan socket, bagaimana membuat code PHP sehingga 2 komputer itu bisa berkomunikasi, dll.
Makanya pengertian PHP socket itu saya dapat dari Daniel Solin.

Ok, langsung fokus aja, kamu pasti tau apa itu network 'kan? socket? hmmm....nggak juga?!
Gini, socket itu adalah salah satu low-level feature abstrack yang dimiliki oleh operating system.
Cukup segitu aja karena kita tidak perlu mengetahui lebih jauh kalau hanya ingin menggunakan socket
di program kita. Yang kita butuhkan hanya philosophy dasar dari cara kerja socket.

Network socket dalam PHP tidak/belum dilengkapi dengan 'most advanced feature' sebagaimana yang
dimiliki oleh C, tapi 95% dari network application bisa digarap disini. Not bad 'kan?. Karenanya kamu
bisa membuat real network application menggunakan 'easy-to-use language', PHP. Perhatikan contoh
code listing1.php (Bagian bawah artikel ini).

Perhatikan baris ke-8, penggunaan set_time_limit(0) agar PHP mengetahui kalau kita menginginkan koneksi
pada waktu yang tak terbatas.

Pada baris ke-11 hingga ke-15, kita membuat socket baru. Hal ini dikenal dengan global socket yang akan
menjadi check pamareter atas semua koneksi yang masuk. Untuk itu kita menggunakan fungsi socket() yang
menggunakan 3 argument. Karena artikel ini tidak membahas tentang network proggie, maka ke-3 argument tsb
tidak dibahas disini. Kalau level kamu sudah intermediate/advance kamu bisa menggunakan argument2 lain
daripada yang digunakan pada contoh listing1 (artinya kamu udah mampu membuat network programming).
Contoh yang cukup menarik pada listing1 terlihat di argument yang kedua, SOCK_STREAM mendeklarasikan TCP
sebagai protocol dari socket (tidak dengan UDP).

Pada baris ke-18 hingga 22, socket yang baru terbentuk di bound ke IP address dan port tertentu. Selama
kamu menginginkannya untuk jalan di local machine, maka nomer IP nya 127.0.0.1. Port yang digunakan
adalah 10000, diambil secara random. Kamu bisa menggunakan port tertentu antara 1024-65535 yang tidak terpakai.

Baris ke-28 hingga 31 menerangkan kalau processnya kembali ke posisi listen. Sedangkan pada baris ke 34
hingga 38 process akan menunggu koneksi yang masuk. Dalam istilah pemrograman, fungsi accept_connect()
akan menunggu hingga koneksi itu datang sendiri. So, program pada listing1 akan berhenti beroperasi pada
tahap ini hingga kita melakukan telnet/remote koneksi ke mesin tsb. Perlu diperhatikan, accept_connect()
akan membuat socket lain ketika koneksi yang baru telah diterima, biasanya disebut dgn $msgsock,
yang akan menangani bagian perkoneksian.

Pada baris ke-41 hingga 46 kita membuat welcome message yang akan diterima oleh visitor dengan menggunakan
fungsi write(). Ingat, process ini dilakukan oleh $msgsock dan bukan oleh $sock. Pada tingkat ini,
fungsi aceept_connect() telah mendeteksi adanya koneksi. Bisa disimpulkan disini scriptnya telah berajalan baik.

Pada baris ke-49 hingga 54, terlihat sesuatu yang menarik. Disini $msgsock yang mengambil alih untuk
memastikan $sock bisa masuk/diterima. Dalam istilah pemrograman, penggunaa read() adalah untuk membaca
data dari koneksi kita. Supaya kita bisa menerima data, data tsb harus dikirim terlebih dahulu dari
pihak lain. Seperti halnya accept_connect(), perintah read() akan menunggu hingga sesuatu terjadi. Ketika
data telah diterima di port 10000, $msgsock, akan mengambil data tsb dan menampilkannya melalui variable $buf.
Sekarang kita telah menerima tampilan data melalui $buf dan dapat mengirimkannya kembali pada baris ke-57
hingga 61. Disini, sekali lagi $msgsock akan mengambil alih, dan $sock akan tetap terbuka.

Hal terakhir pada script ini yaitu pada baris ke-64 hingga 67 PHP menutup socket dan menutup koneksi network.

MENGUJI TCP SERVER KITA

Setelah mempelajari dari source code listing1 maka kini saatnya untuk pengetesan. Jangan lupa untuk
merename source tersebut menjadi listing1.php. Seperti biasanya, supaya kita bisa menjalankan suatu
program maka kita harus terlebih dahulu mengatur permissionnya:

chmod 755 listing1.php

Dan pastikan juga baris pertama source code listing1.php mengacu ke path PHP binary system kamu. Lalu
tinggal dijalankan:

./listing1.php

Kalau terjadi error socket() function is undefined, maka kamu harus mengedit PHP binary kamu dengan
menjalankan ./configure --enable-sockets, recompile dan reinstall PHP binary kamu dengan command
make && make install.

Nah, setelah tidak ada error lagi langsung aja jalankan telnet ke server kamu (dalam bahasan ini
adalah localhost):

$telnet localhost 10000

Perintah diatas menunjukkan kalau kita ingin melakukan koneksi ke server localhost melalui port 10000
yang telah di tentukan di source code listing1.php. (Nama server dan port disesuaikan dengan kode kamu).
Apabila semuanya lancar, maka akan tampak seperti berikut:

$Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Welcome to my TCP server!

Wow....sudah masuk tuh...
Coba deh buat sesuatu yang berguna di server tsb. Sebagai contoh, saya mengetikkan:

Hello
You said: Hello
Connection closed by foreign host.

Gimana? kool? walaupun sederhana, namun kita telah membuat suatu network connection yang real dan dapat
melakukan interkoneksi data melalui socket.

Sekarang kebayang gak kalo socket itu dijadikan backd00r? Gimana caranya? Hehehe.....Udah ah segitu aja.
Lagian kan temanya bukan pembuatan backd00r.


*NOTE: PHP adalah interpreter language yang syntaxnya hampir sama dengan C language. Kalau kamu sudah
familier dengan salah satunya maka kemungkinan kamu tidak akan kesulitan dalam menggunakan keduanya. ;>

Semoga berguna untuk meningkatkan pengetahuan Proggie PHP kita.

Salam buat A_BlAcK_LisT, Acetosal, jhon angga, ryan_the, ucoxxx, AcCezZdENieD dan KIDS_KIDS. Special buat teman2 yang
tidak bisa disebutkan satu persatu di #SecretColony, #HackingCentre, #DoD, #Level9-Team, #AntiMedanHacking @t DAL.Net.

Best Regs

KillFinger

Greetz to Daniel Solin ,a freelance writer and Linux consultant whose specialty is GUI programming.
His first book, SAMS Teach Yourself Qt Programming in 24 hours, was published in May, 2000



Source Code Listing1.php

1 #!/usr/local/bin/php -q
2
3


Related Posts by Categories



Widget by Hoctro | Jack Book
  1. 0 komentar: Responses to “ Socket programming dengan PHP ”

Anda ingin beriklan....