04 /0 2 /2 0 1 0
Eko Fajar Yanuwarsa - 5105100061 Pembimbing Wahyu Suadi, S.Kom., M.Kom.
1
04 /0 2 /2 0 1 0
Python (PyXpcom)
Lam ma
Perl (PlXpcom)
J Java (J (JavaXpcom) X )
JavaScript
2
04 /0 2 /2 0 1 0
DOM : Document Object Model XUL : XML User Interface Languange CSS : Cascading Style Sheets XBL : XML Binding Language
3
04 /0 2 /2 0 1 0
Remote server linux ` Penggunaan protokol ssh pada umumnya ` Bagaimana jika ssh di blok oleh firewall `
◦ Diganti dengan protokol http ◦ Menggunakan PyXpcom dan Qweb Service
4
04 /0 2 /2 0 1 0
`
`
`
`
Bagaimana bahasa pemrograman Python dapat menggantikan bahasa pemrograman JavaScript sebagai bahasa pemrograman utama? Bagaimana sebuah aplikasi remote server dapat dibangun dengan menggunakan teknologi yang dikembangkan oleh Mozilla? Bagaimana penggunaan Remote Service pada server agar dapat dipanggil pada saat dibutuhkan? Bagaimana penggunaan enkripsi data pada PyXpcom?
5
04 /0 2 /2 0 1 0
`
Mengimplementasikan bahasa pemrograman python yang dijalankan bersama bahasa pemrograman XUL untuk sebuah aplikasi
remote server. `
Dasar sebagai pengembangan aplikasi lainnya yang berbasis pada bahasa pemrograman python h dan d XUL untuk k mozilla. ill
6
04 /0 2 /2 0 1 0
Client : PyXpcom, XUL, XULRunner ` Server: Qweb Python, AjaxTerm ` Aplikasi dibangun menggunakan bahasa Python sebagai bahasa utamanya dipadu dengan beberapa b h bahasa pemrograman llainnya untuk k `
tampilan antar muka
7
04 /0 2 /2 0 1 0
`
PyXpcom : komunikasi antara Python dan Xpcom, seperti aplikasi Python yang dapat mengakses objek-objek Xpcom, dan Xpcom yang dapat mengakses setiap class pada Python yang diimplementasikan pada sebuah
Xpcom Interface.
8
04 /0 2 /2 0 1 0
`
XUL : XML User Interface Language, adalah
sebuah format dokumen dan kosa kata yang digunakan untuk mendeskripsikan crossplatfrom user interface dari engine firefox
9
04 /0 2 /2 0 1 0
`
sebuah runtime environment yang dikembangkan oleh Mozilla Foundation untuk menyediakan back-end dari aplikasi XUL secara umum. XULRunner menggantikan Gecko Runtime Environment, sebuah proyek dengan tujuan yang sama. XULRunner pertama dirilis pada Pebruari 2006, 2006 berdasarkan kode dasar Mozilla 1.8, dan Mozilla 1.9 versi alpha yang di rilis pada tahun 2007
10
04 /0 2 /2 0 1 0
11
04 /0 2 /2 0 1 0
`
sebuah WSGI (Web Server Gateway Interface) HTTP server thread dan sebuah fungsi untuk menjalankan fungsi secara otomatis sesuai dengan environment (baik standalone, CGI, atau FastCGI).
12
04 /0 2 /2 0 1 0
` ` ` ` ` `
Ajax JavaScript CSS Base64 Wireshark Arpspoof
13
04 /0 2 /2 0 1 0
14
04 /0 2 /2 0 1 0
`
Operasi-operasi dasar pada UNIX, seperti: ◦ ◦ ◦ ◦ ◦
`
ls ps cat who mkdir
◦ ◦ ◦ ◦ ◦
rm cp rename chmod chown
LINUX Editor, Editor seperti: ◦ vim ◦ nano
15
04 /0 2 /2 0 1 0
`
Penggunaan enkripsi base64 untuk mengenkripsi data yang dikirim dari client ke server
Ajax encoding
base64
Python decoding
16
04 /0 2 /2 0 1 0
`
`
`
`
Remote client akan menampilkan halaman konsole Linux seperti halnya pada aplikasi yang sudah ada. Remote client akan menampilkan hasil perintah dari operasi-operasi yang dimaksud. Server akan menjalankan hasil dari perintah yang diinginkan untuk diproses. Data yang dikirimkan merupakan data hasil decoding.
17
04 /0 2 /2 0 1 0
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan
Mozilla Remote Client
PuTTy
Request
Response
Result
Request
Response
Result
ALERIA
1,087578
1,103060
0,015482
ALERIA
75,586832
75,799250
0,212418
SHIRO
1 232377 1,232377
1 255214 1,255214
0 022837 0,022837
SHIRO
22 966774 22,966774
23 383717 23,383717
0 416943 0,416943
ARARE
1,608240
1,626611
0,018371
ARARE
12,109854
12,217914
0,108060
PSB4
1,663817
1,681963
0,018146
PSB4
38,782257
39,048092
0,265841
NB:
- Pelaksanaan menggunaakan aplikasi Arpspoof dan Wireshark - Dalam satuan detik dimulai dari aplikasi Wireshark dijalankan
18
04 /0 2 /2 0 1 0
`
`
`
Penggunaan XULRunner memungkinkan aplikasi berjalan secara portable Dari uji j coba y yang g telah dilakukan,, pengiriman data dari client hingga di respon oleh server lebih cepat daripada aplikasi yang sudah tersedia (pembanding PuTTy) Aplikasi menggunakan open source, sehingga dapat dikembangkan sesuai keiinginan
19
04 /0 2 /2 0 1 0
`
`
Sekuritas hanya pada lingkungan pengiriman data dengan menggunakan enkripsi base64 yang merupakan jenis enkripsi umum digunakan, sehingga lebih lemah daripada aplikasi yang sudah ada. Aplikasi masih belum bisa diterapkan sebagai add-ons dd pada d M Mozilla ill Fi Firefox f
20
04 /0 2 /2 0 1 0
`
`
`
XulRunner sebagai framework dari Mozilla Firefox dikembangkan dengan berbasis pada web aplication,
sehingga memungkin diimplementasikan sebuah remote service dengan g memanfaatkan protokol p HTTP sebagai jalan untuk transportasi data. Pemanfaatan protokol HTTP sebagai remote service memungkinkan pengguna untuk mengontrol server ketika akses ssh pada server ditutup atau di filter oleh l h firewall. fi ll Implementasi Python pada teknologi Mozilla membuktikan bahwa Python mampu menggantikan JavaScript sebagai bahasa utama bersama XUL dan bahasa pemrograman pendukung lainnya
21
04 /0 2 /2 0 1 0
22