Home | Register | Lupa Password | NEWS :


DIPANEGARA COMPUTER CLUB
BTN Antara Blok C10 No. 2, Makassar

Tidak ada agenda untuk kegiatan

DCCHeader BiruIndahnya Kebersamaan
Python:Simple Network Intrussion Detection System using raw_socket
Python:Simple Network Intrussion Detection System using raw_socket
Oleh: ppyton | Rabu, 07 Desember 2011 | 0 Komentar Kategori: Pemrograman View 2503

   

   Halo teman - teman kali ini saya akan share code yang baru saja sy buat setelah mempost artikel network packet sniffer .

   Sedikit tentang Simple network intrussion detection system.
   NIDS (Network Intrussion Detection System) itu kasarnya pengembangan dari firewall yg biasa kita pake, kata "Detection" memberikan definisi bahwa NIDS hanya bisa memberikan alert jika paket di dalam jaringan diindikasikan berbahaya (NIDS punya pattern utk tau paket2 bahaya ini behaviournya seperti apa, contoh: ada paket TCP dgn flagbit SYN yg banyak dlm waktu yg singkat [anggap lah itu cth pola dari SYN flood. Mungkin temen2 disini pada jago kalo soal itu]), nah script ini hanya potongan singkat gimana NIDS bekerja. Mungkin pada tau SNORT kan yg logonya gbr babi?! nah kasarnya ini implementasi sangat sederhana dari si snort.

Script python ini cukup dieksekusi biasa seperti script python lainnya di mesin Linux kalian. script akan tanya string apa yg akan difilter (misal: "sex"). setelah script running silahkan dites menggunakan protokol apapun (kecuali SSL. karena pasti isi paketnya di encrypt). masukkan kata "sex" (contoh: lu buka YM terus tulis status lu ada kata "sex" nya, atau browsing http [bkn https] yg ada konten string "sex" nya), nanti script akan capture dan kasih warning (disini saya tambah juga utk record IP source + IP destination dari paket yg kontennya ada string "sex" tadi ke log file "blacklist.log")

nah.. ini bisa kalian kembangkan ke state big apps. Kita bisa buat SNORT versi kita sendiri bukan? so gimana kalo kita gabung record IP ini kemudian datanya kita passing ke rule iptables utk blok IP tersebut.. hasilnya jadi NIPS (Network Intrussion Prevention System. Ada kata "Prevent" yg tidak hanya alert saja, tapi sudah bertindak/melakukan sesuatu, yaitu membuat rule iptables secara dinamis [bisa berubah2 tergantung scripting kita])

algorthma yang sy gunakan adalah string matching . yaitu mencocokan/filter kata yang di input dengan packet data yang sudah tersimpan dalam var 'packet' yang di dapatkan dalam code: if re.search(filter_string,packet):doing dengan sedikit bantuan dari regex(Regular expression) untuk pencockan datanya .ya singkatnya  hanya parsing content paketnya, catat ke log, trus ada treak2 'alert!' di prompt kalian :) belum sampe parsing header protokolnya lebih detail utk siapin pattern2 yg diindikasikan attacker. ok silahkan di nikmati source code bisa dikembangkan semau kalian.


[code]
#!/usr/bin/python
# simple Network Intrussion Detection System using
# raw_socket module (please running this script example
# with sudo/root because raw socket must be root
# priviledge
#
# Coder jimmyromanticdevil
# Algorthm i use string matching for match text filter_string on ip header data = packet
# if re.search(filter_string,packet):doing
# adopt from my code network packet sniffer
# network packet sniffer : http://jimmyromanticdevil.wordpress.com/2011/12/06/pythonnetwork-packet-sniffer/
# http://indonesianbacktrack.or.id & jimmyromanticdevil.wordpress.com
#-----------------------------------------------

import socket
import sys
from struct import *
import string
import re  
import time
from datetime import datetime
def proses1(socket_setup,filter_string):
    packet = socket_setup.recvfrom(65565)
    packet = packet[0]
    ip_header = packet[0:20]
    iph = unpack('!BBHHHBBH4s4s' , ip_header)
    s_addr = socket.inet_ntoa(iph[8]);
    d_addr = socket.inet_ntoa(iph[9]);
    try:
         log_file = open('blacklist.log','a+')
    except:
         print 'file not found'
    try:
       if re.search(filter_string,packet):
          data_get =  """
Alert Found filter string : %s          
Source Address : %s
Destination Address : %s
time : %s
"""%(filter_string,str(s_addr),str(d_addr),str(datetime.now()))
          log_file.write(data_get+'\n')
          print data_get
          log_file.close()
    except Exeption ,err:
       print [err]
       
def main():
    socket_setup = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
    filter_string = raw_input('Input Filter string :')
    while True:
       try:
         proses1(socket_setup,filter_string)
       except Exception ,er:
         print er
         sys.exit()
         break
         
if __name__ == "__main__":
     main()  
[/code]


Special thanks to my refrensi :
    5ynl0rd code simple network intrussion detect system using pcapy module
    
special thanks person:
     5ynl0rd,Ardhe defourteens aka hardiknas,Kiddies,Ahmad asto,all my broth n sistr in DCC,indonesianbacktrack team,Tecon-Crew Labs,all my friend & You.... 

 

Real source : http://jimmyromanticdevil.wordpress.com/2011/12/06/pythoncode-simple-network-intrussion-detection-system-using-raw_socket/

berita terkait

0 KOMENTAR

KOMENTAR ANDA
Nama
Website/Email
Komentar
 
Captcha Sepakbola
Apakah anda manusia?Lebih baik lagi kalau anda menyukai sepak bola
Sebutkan pemain sepak bola disamping:

Captcha Sepakbola by codingwear
KATEGORI


POPULER
  


shoutmix
12 Mei 2012 | 10:39:21
kasi tahu gak yah :
apa kabar semua???
09 Mei 2012 | 15:41:47
TukangSedotWC :
08 Mei 2012 | 20:17:29
Patris :
haiiiii ka' sdh aku pasang bannerx tu, banner ku tolong d'pasang jga,http://patrisbluesky.blogspot.com/
08 Mei 2012 | 03:11:17
adi :
hy
08 Mei 2012 | 03:11:11
adi :
hy
05 Mei 2012 | 14:51:28
FRB :
03 Mei 2012 | 11:46:01
manny :
kangen basecamp...
02 Mei 2012 | 02:42:21
Muhammad Ikhsan HR :
21 April 2012 | 23:53:35
nine9 :
21 April 2012 | 15:55:28
Zuhry :
20 April 2012 | 22:46:41
ABIE :
20 April 2012 | 22:44:16
ABIE :
MALAM SMUA,,,APA KBAR
20 April 2012 | 12:33:05
onhe :
20 April 2012 | 12:32:48
onhe :
19 April 2012 | 17:05:38
gyn :
sapa deh... haii decece
14 April 2012 | 18:44:24
onhe :
13 April 2012 | 03:05:18
Anjaz :
09 April 2012 | 16:37:06
sate :
solusi yang mana mas..
09 April 2012 | 14:47:13
panoel_laaros :
bos solusi masala.na kok gak di tulis jga
09 April 2012 | 14:47:04
panoel_laaros :
bos solusi masala.na kok gak di tulis jga
Show Form Hide Form

Nama :

http://

Message :



   

09 April 2012
Share The Code With Programming
STMIK Dipanegara Makassar
12 Februari 2012
IT For The Bright Future
Semua Sekolah
07 Januari 2012
Seminar [Android Is Easy - From Beginner To Expert]
Gedung PKP Unhas (Universitas Hasanuddin) - Jl. Perintis Kemerdekaan KM.9



  • RSS Follow us on Twitter Become our friend on Facebook One-X Mobile Preferred for IP Office, Aplikas

  • Mengapa Harus Belajar .Net

  • Instagram Makin Menggeliat dengan 40 Juta Pengguna

  • Teori Terbaru Mengenai Sang Pemangsa Dinosaurus

  • 8 Sosok Bertalenta di Dunia Teknologi

rahmat jas
rahmat.jas@gmail.com
    0
    Berita
    FATHURRAHMAN BUSMAN
    frbusman@gmail.com
    2
    Berita
    Huzain Azis
    traiteurs@yahoo.co.id
      0
      Berita


      INFORMASI
      512228
      Pengunjung hari ini : 207
      Total pengunjung : 40913
      Hits hari ini : 5608
      Total Hits : 512228
      Pengunjung Online: 9
      38.107.179.210

      GaleriFoto Dipanegara Computer Club - OFFCIAL WEBSITE

      FIND US:
      Facebook | Hubungi Kami | Home
      DCC | Created By Crew DCC | Copyright © 2011
      Inspirated Template by Kiwilstudo | Griyagaya | SandBOX | Best Performance : Firefox | Google Crome