Hping

Eyl 07, 2013
Hping programı kullanılarak istenen sayıda  TCP/IP (Transmission Control Protocol - İletim Kontrol Protokolü) paketi hedefe gönderilir. TCP ping ve UDP ping’e göre daha aktif tarama gerçekleştirir. Aynı anda birden fazla kullanıcı taramaya elverişli olmamasına karşın nmap programı ile karşılaştırıldığında port taraması daha geniştir. Hping; "hping1",  "hping2" ve "hping3" olmak üzere üç versiyona sahiptir. RedHat ve Fedora işletim sistemlerinde #yum install hping komutu ile yükleme işlemi sağlanabilir. Ancak Debian işletim sistemi için #apt-get install hping3 komutunun çalıştırılması gerekir.

Hping:

  • İstek üzerine TCP, UDP (User Datagram Protocol - Kullanıcı Veribloğu İletişim Protokolü), ICMP (Internet Control Message Protocol - İnternet Kontrol Mesaj Protokolü), "Raw-IP" paketleri üretebilir.
  • Güvenlik duvarına ve DoS (Denial of Servis - Hizmet Engelleme) saldırılara karşı performası artıran yapılandırmalar içerir.
  • Olası saldırı durumunda kısa sürede tespit edilip müdahale edebilir.
  • Oldukça gelişmiş port tarama ve dosya transferi özelliklerine sahiptir.
  • TCP/IP ile paketlerin toplanması ve bunların test edilmesini sağlar.

Ayrıca hping; Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOs X işletim sistemleri tarafından desteklenmektedir.

Hping' in kullanımı ve modları #hping -h komutu ile takip edilebilir.

     

Hping ile paket gönderimi

Hping ile gönderilen ilk paketle beraber TCP paket alışverişi başlatılmış olur. Bu bayraklar arası alışveriş o porttan tcpdump programı ile gözlenebilir. Bu şekilde #tcpdump komutu ile gerçekleşen bayrak taşıma gözlemlenebilir.

Taşınan TCP bayrakları aşağıda açıklanmıştır.

SYN paketi (hping -S): TCP bağlantı isteğidir. İlk bağlantı bu paketle başlatılır.
ACK paketi (hping -A): Gelen paket isteğine, bu paket ile cevap verir.
RST paketi (hping -R): Bağlantıyı sıfırlar.
FIN paketi (hping -F): Bağlantıyı sonlandırır.
"SYN/ACK" paketi: Gelen SYN paketine karşılık SYN\ACK paketi gönderilerek bağlantı sağlanır.
"FIN"/ACK paketi: Gönderilen FIN paketine verilen bu paket gönderilerek karşılıklı oturum sonlandırılır.
"RST"/ACK paketi: Hedefe gönderilen RST paketi üzerine karşılıklı oturumu sıfırlamak üzere RST paketi gönderilir.
Push paketi (hping –P): Takılan paketlerin ilerlemesini sağlar.
URG paketi (hping -U): Hedefe ulaşmak için bekleme yapmadan önem sırasına öncelik verilerek geçmesi istenilen paketin iletimi sağlanır.

Hping Parametreleri

  • hping –c: Kaç adet paket gönderileceğini belirtir.



  • hping --icmp : icmp echo request komutu çalıştırılarak ping taranması gerçekleştirilir. ICMP code ( -K ) ve ICMP type( -C ) değerlerini alır. Port taraması gerçekleşmez.



    Paketlerin #tcpdump komutu ile elde edilen çıktısı aşağıdaki gibidir.



  • hping --udp: Bayraklarla veri iletimi sağlanmıyor. ICMP paketlerinin transferi söz konusudur.



    Paketlerin #tcpdump komutu ile elde edilen çıktısı aşağıdaki gibidir.



  • hping –S : Hangi portların kullanıldığı ve portların durumları gözlemlenir.



    Paketlerin #tcpdump komutu ile elde edilen çıktısı aşağıdaki gibidir.

Belirtilen parametreler dışında hping'in diğer parametreleri aşağıdaki gibidir.

  • hping -I: Arayüze özgü sorgu yapmakta kullanılır.
  • hping -s: TCP\IP nin portunu  değiştirir.
  • hping -t: Paketlere istenilen TTL (Time to Live - Yaşama Süresi) değerleri atanır.
  • hping -V: Yapılan sorgulama hakkında ayrıntılı bilgi verir.
  • hping -n: Sayısal veri elde etmek için kullanılır.
  • hping -z: TTL değeri CTRL^z ile artar.
  • hping -v: Hping'in versiyonu hakkında bilgi verir.

Belirtilen parametrelerde karşılaşılan çıktılardaki bazı ortak terimlerin değerlendirilmesi aşağıdaki gibidir.

  • len: Dönen paketin boyutu.
  • ip: Paketi gönderen ip adresi(hedef sistem).
  • ttl: Paketin yaşam süresi.
  • DF: Parçalama biti aktif durumda.
  • Id: Ip paketine ait tanımlayıcı biricik(unique) bilgi.
  • Sport: Paketin gönderildiği kaynak port.
  • Flags: Aktif TCP bayrakları.
  • seq: Paketin sıra numarası.
  • win: Paketin pencere boyutu.
  • rtt: Milisaniye süresi.