İçeriğe atla

Ngrep

ngrep
ngrep komut satırı çıktısı
ngrep komut satırı çıktısı
Geliştirici(ler)Jordan Ritter
Güncel sürüm1.47[1]
Programlama diliC
İşletim sistemiLinux, Solaris, illumos FreeBSD, NetBSD, OpenBSD, Mac OS X, ilave *NIX sistemleri, Windows
TürPaket çözümleyici
LisansBSD-tarzı[2]
Resmî sitesihttps://github.com/jpr5/ngrep[3]
Kod deposu Bunu Vikiveri'de düzenleyin

ngrep (network grep), Jordan Ritter tarafından yazılmış bir ağ paket çözümleyicisidir. Bir komut satırı arayüzüne sahiptir, pcap kütüphanesine ve GNU regex kütüphanesine dayanır.

ngrep, ağ kaynaklarını veya hedeflerini veya protokollerini seçmek için Berkeley Packet Filter (BPF) mantığını destekler ve ayrıca GNU kullanarak paketlerin veri yükünde kalıpların veya düzenli ifadelerin eşleştirilmesine ve paket verilerinin insan dostu bir şekilde gösteren grep sözdizimine izin verir.

ngrep açık kaynaklı bir uygulamadır ve kaynak kodu GitHub üzerindeki ngrep sitesinden indirilebilir. Derlenebilir ve birden fazla platforma taşınabilir, birçok UNIX benzeri işletim sistemleri: Linux, Solaris, illumos, BSD, AIX ve ayrıca Microsoft Windows üzerinde de çalışır.[4]

İşlevsellik

ngrep tcpdump'a benzer, ancak paketin yükünde bir düzenli ifade (regex) arama ve eşleşen paketleri bir ekranda veya konsolda gösterme yeteneğine sahiptir. Kullanıcıların ağ arayüzünü promiscuous moda geçirerek ağ üzerinden geçen tüm şifrelenmemiş trafiği görmelerini sağlar.

ngrep, uygun bir BPF filtre sözdizimiyle, HTTP, SMTP, FTP, DNS gibi düz metin protokol etkileşimlerinde hata ayıklamak veya grep düzenli ifade sözdizimini kullanarak belirli bir dize veya desen aramak için kullanılabilir.[5][6]

ngrep ayrıca kablo üzerindeki trafiği yakalamak ve pcap döküm dosyalarını saklamak veya tcpdump veya wireshark gibi diğer sniffer uygulamaları tarafından oluşturulan dosyaları okumak için de kullanılabilir.

ngrep'in çeşitli seçenekleri veya komut satırı argümanları vardır. ngrep yardım sayfası (man page) Unix benzeri işletim sistemleri içinde mevcut seçeneklerin bir listesini gösterir.

ngrep kullanım örnekleri

Aşağıdaki örneklerde, kullanılan ağ arayüzünün eth0 olduğu varsayılmaktadır.

  • eth0 arayüzüne gelen/giden ağ trafiğini yakalar ve HTTP (TCP/80) GET veya POST yöntemlerini takip eden parametreleri gösterir:
$ ngrep -l -q -d eth0 -i "^GET |^POST " tcp and port 80
  • eth0 arayüzüne gelen/giden ağ trafiğini yakalar ve HTTP (TCP/80) Kullanıcı Aracısı dizesini gösterir:
$ ngrep -l -q -d eth0 -i "User-Agent: " tcp and port 80
  • eth0 arayüzüne gelen/giden ağ trafiğini yakalar ve DNS (UDP/53) sorgularını ve yanıtlarını gösterir:
$ ngrep -l -q -d eth0 -i "" udp and port 53

Güvenlik

Bir arayüzden ham ağ trafiğini yakalamak, bazı platformlarda, özellikle Unix benzeri sistemlerde özel ayrıcalıklar veya süper kullanıcı ayrıcalıkları gerektirir. ngrep varsayılan davranışı, bu platformlarda ayrıcalıkları bırakmak ve belirli bir ayrıcalıksız kullanıcı altında çalışmaktır.

Tcpdump gibi, ngrep'i başka bir kullanıcının veya bilgisayarın ya da tüm bir ağın iletişimini yakalamak ve görüntülemek amacıyla kullanmak da mümkündür.

Bir ağ anahtarı, yönlendirici veya ağ geçidi üzerinde port aynalama ile yapılandırılmış bir cihaza bağlı bir sunucu veya iş istasyonunda ngrep çalıştıran ayrıcalıklı bir kullanıcı veya bir LAN üzerinde ağ trafiğini yakalamak için kullanılan başka bir cihaza bağlı, MAN veya WAN, oturum açma kimlikleri, parolalar veya URLler ve bu ağda görüntülenen web sitelerinin içeriği ile ilgili tüm şifrelenmemiş bilgileri izleyebilir.

Desteklenen protokoller

  • IPv4 ve IPv6, Internet Protocol version 4 ve version 6
  • TCP, Transmission Control Protocol
  • UDP, User Datagram Protocol
  • ICMPv4 ve ICMPv6, Internet Control Message Protocol version 4 ve version 6
  • IGMP, Internet Group Management Protocol
  • Ethernet, IEEE 802.3
  • PPP, Point to Point Protocol
  • SLIP, Serial Line Internet Protocol
  • FDDI, Fiber Data Distribution Protocol
  • Token Ring, IEEE 802.5

Ayrıca bakınız

  • Paket çözümleyicileri karşılaştırması
  • snoop, Solaris ve illumos içerisinde yer alan bir komut satırı paket çözümleyicisi
  • dsniff, bir packet sniffer ve trafik analiz araçları seti
  • netsniff-ng, ücretsiz bir Linux ağ araç seti
  • etherApe, trafiği koklamaya dayanan bir ağ haritalama aracı
  • tcptrace, tcpdump tarafından üretilen günlükleri analiz etmek için bir araç
  • Microsoft Network Monitor, bir paket analizörü
  • xplico, bir ağ adli bilişimi analiz aracı

Kaynakça

  1. ^ "Release V1_47". Erişim tarihi: 18 Şubat 2018. 
  2. ^ LICENSE.txt dosyası tarball dosyasının içerisindedir.
  3. ^ Hata: Referans düzgün görüntülenemiyor. Bilgi için belgeleme sayfasına bakınız.
  4. ^ "ngrep supported platforms". 23 Nisan 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ekim 2023. 
  5. ^ "ngrep and regular expressions". 3 Ekim 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ekim 2023. 
  6. ^ "ngrep usage". 8 Temmuz 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ekim 2023. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">UDP</span>

UDP, TCP/IP protokol takımının iki aktarım katmanı protokolünden birisidir. Verileri bağlantı kurmadan yollar.

Telnet, Internet ağı üzerindeki çok kullanıcılı bir makineye uzaktaki başka bir makineden bağlanmak için geliştirilen bir TCP/IP protokolü ve bu işi yapan programlara verilen genel isimdir. Telnet iki bileşenden oluşur: (1) iki tarafın nasıl iletişim kuracağını belirleyen protokolün kendisi ve (2) hizmeti sağlayan yazılım uygulaması.Kullanıcı verileri, İletim Kontrol Protokolü (TCP) üzerinden 8 bitlik bayt yönlendirmeli bir veri bağlantısında Telnet kontrol bilgisi ile bant içi serpiştirilir. Telnet, 1969'da RFC 15 ile başlayarak geliştirildi, RFC 855'te genişletildi ve ilk İnternet standartlarından biri olan İnternet Mühendisliği Görev Gücü (IETF) İnternet Standardı STD 8 olarak standartlaştırıldı. encryption sağlayan bazı Telnet eklentileri geliştirilmiştir. Bağlanılan makineye girebilmek (login) için orada bir kullanıcı isminizin (İng:username) ve bağlantının gerçekleşebilmesi için bir telnet erişim programınızın olması gereklidir. Fakat bazı kütüphane ve herkese açık telnet bazlı web servisleri, bağlantı sırasında kullanıcı ismi (numarası) istemeyebilirler; ya da, kullanıcı isim ve parola olarak ne yazmanız gerektiği bağlandığınızda otomatik olarak karşınıza çıkar. Telnet, BBS sistemlere İnternet üzerinden erişimde günümüzde yaygın olarak kullanılmaktadır. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir. Çok kullanıcılı işletim sistemleri genellikle kullanıcılara metin tabanlı bir arayüz sunar ve bu sistemlerde tüm işlemler klavye vasıtası ile komut isteminden gerçekleştirilir.

<span class="mw-page-title-main">İnternet iletişim kuralları dizisi</span>

İnternet protokol takımı, bilgisayarlar ve ağ cihazları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.

<span class="mw-page-title-main">TCP</span>

TCP (Transmission Control Protocol), TCP/IP protokol takımının taşıma katmanı protokollerinden birisidir. Son güncellemesi Ağustos 2022 tarihi itibarıyla RFC 9293 içerisinde tanımlanmıştır.

Network Address Translation (NAT), TCP/IP ağındaki bir bilgisayarın yönlendirme cihazı ile başka bir ağa çıkarken adres uzayındaki bir IP ile yeniden haritalandırma yaparak IP paket başlığındaki ağ adres bilgisini değiştirme sürecidir.

Internet Control Message Protocol (ICMP), hata mesajları ve TCP/IP yazılımının bir takım kendi mesaj trafiği amaçları için kullanılır. ICMP RFC 792'de tanımlanmış ve RFC 950'de revize edilmiştir. Hataları raporlamak için kullanılan, kontrol amaçlı bir protokoldür. Bu şekilde normal kullanımının yanında, uzak sistem hakkında bilgi toplamak için sıkça kullanıldığından çok önemlidir. Genel olarak sistemler arası kontrol mesajları IP yerine ICMP üzerinden aktarılır. ICMP, IP ile aynı düzeyde olmasına karşın aslında kendisi de IP’yi kullanır. ICMP' nin hata raporlamak için kullanılması, IP'yi güvenli yaptığı anlamına gelmez. Datagram, yerine ulaşmayabilir ve bununla ilgili bir hata mesajı da gelmeyebilir. ICMP mesajlarındaki hataları raporlamak için ICMP kullanılmaz. ICMP, TCP/IP' nin işlemesine yardımcı olan bir protokoldür. Her hostta mutlaka ICMP protokolü çalışır. Hata durumunda host tarafından geri bilgilendirmeyi sağlar.

<span class="mw-page-title-main">Wireshark</span>

Wireshark, özgür ve açık kaynaklı bir paket çözümleyicisidir. Ağ sorunlarını giderme, çözümleme, yazılım ve iletişim protokolü geliştirme ve eğitim amaçlı olarak kullanılır. Esas olarak Ethereal adıyla başlayan proje, ticari marka sorunları nedeniyle Mayıs 2006'da Wireshark olarak yeniden adlandırıldı.

Trivial File Transfer Protocol (TFTP) 1980 yılında tanımlanmış, FTP' nin temel fonksiyonel şekli olarak ifade edilen basit bir dosya transfer protokolüdür.

netstat

netstat ağ bağlantıları, yönlendirme tabloları ve ağ arayüzü istatistiklerini görüntüleyen bir komut satırı aracıdır. netstat komutu UNIX, Linux ve Windows NT tabanlı işletim sistemlerinde kullanılabilir.

UDP saldırısı , UDP protokolünü kullanarak yapılan bir DoS saldırısıdır.

<span class="mw-page-title-main">Tcpdump</span>

tcpdump, komut satırından çalışan genel bir paket analizcisidir, bilgisayara gelen veri paketlerini kaydetmeye, incelemeye, filtrelemeye yardımcı bir sistemdir. Kullanıcıya bağlı bulunduğu bir ağ üzerinden iletilen veya alınan TCP/IP paketlerini veya diğer paketleri yakalama ve gözlemleme olanağı sunar. BSD lisansı altında dağıtılan tcpdump lisans ücreti olmayan bir açık kaynak yazılımdır.

Tünel protokolü, bir ağ protokolü farklı bir yük-taşıma protokolü içerdiğinde bilgisayar ağ bağlantısı, bir tünel protokolü kullanır. Tünel protokolü kullanılarak, uyumsuz olan bir iletim protokolü üzerinde bir yük-taşıma taşınabilir ya da güvenilmeyen ağlarda güvenli bir yol oluşumu sağlanabilir.

<span class="mw-page-title-main">Paket çözümleyicisi</span>

Paket çözümleyici, Paket koklayıcı, protokol analizörü, ağ analizörü olarak da bilinen bir paket analizörü, bir bilgisayar programı veya paket yakalama cihazı gibi bir bilgisayar donanımı olup analiz ve günlük kaydı (loglama) trafiğini bir bilgisayar ağı veya bir ağın bir parçası üzerinden geçirebilir. Paket yakalama trafiği durdurma ve günlüğe kaydetme işlemidir. Veri akışı veya veri katarları ağ üzerinden akarken, analizör her paketi yakalar ve gerekirse paketin ham verilerinin kodunu çözerek paketteki çeşitli alanların değerlerini gösterir, ayrıca içeriğini uygun RFC veya diğer özelliklere göre analiz eder.

NPF, BSD Lisansı bir durum denetlemeli paket filtresi olup, güvenlik duvarı için merkezi bir yazılım parçasıdır. iptables, ipfw, ipfilter ve PF ile karşılaştırılabilir. NPF, NetBSD üzerinde geliştirilmiştir.

<span class="mw-page-title-main">Port tarayıcı</span>

Port tarayıcı, açık portlar için bir sunucuyu veya ana bilgisayarı araştırmak için tasarlanmış bir uygulamadır. Bu tür bir uygulama, yöneticiler tarafından bilgisayar ağlarının güvenlik politikalarını doğrulamak ve saldırganlar tarafından bir ana bilgisayar üzerinde çalışan ağ hizmetlerini tanımlamak ve güvenlik açıklarından yararlanmak için kullanılabilir.

<span class="mw-page-title-main">Stacheldraht</span>

Stacheldraht, GNU/Linux ve Solaris sistemleri için Mixter tarafından DDoS aracısı olarak çalışan kötü amaçlı bir yazılımdır. Bu araç kaynak adresi sahteciliğini algılar ve otomatik olarak etkinleştirir.

Bir ICMP tüneli, ICMP yankı istekleri ve yanıt paketlerini kullanarak iki uzak bilgisayar arasında gizli bir bağlantı kurar. Bu tekniğin bir örneği ping istekleri ve yanıtları üzerinden tüm TCP trafiğini tünellemektir.

Bilgisayar ağlarında bağlantı noktası (port) veya bağlantı noktası numarası, bir bağlantı uç noktasını benzersiz bir şekilde tanımlamak ve verileri belirli bir hizmete yönlendirmek için atanan sanal bir numaradır. Yazılım düzeyinde, bir işletim sistemi içinde, bir bağlantı noktası belirli bir işlem veya bir ağ hizmeti türünü tanımlayan mantıksal bir yapıdır. Yazılım düzeyindeki bir bağlantı noktası, her taşıma katmanı protokolü ve adres kombinasyonu için kendisine atanan bağlantı noktası numarasıyla tanımlanır. Port numaralarını kullanan en yaygın taşıma protokolleri TCP ve UDP 'dir; bu port numaraları 16 bitlik işaretsiz sayılardır.

Bit-Twist, libpcap tabanlı bir paket oluşturucu, paket yakalama dosyası değiştirici ve paket tekrarlayıcıdır. Paket yakalama motoru libpcap üzerine inşa edilmiş bir paket yakalama aracı olan tcpdump'ı tamamlar. Bit-Twist, bir veya daha fazla pcap dosyasından paketleri yeniden oluşturmanıza olanak tanır. Ayrıca, paketleri ağ üzerinde yeniden oluşturmadan önce Ethernet, ARP, IP, ICMP, TCP ve UDP başlıklarındaki alanlar gibi paket bilgilerinin önceden manipüle edilmesini sağlayan kapsamlı bir pcap dosya düzenleyicisi ile birlikte gelir.

Bilgisayar ağ yönetimi alanında, pcap ağ trafiğini yakalama için bir API'dir. Bu isim packet capture kelimesinin kısaltması olsa da, API'nin özel ismi bu değildir. Unix benzeri sistemler pcap'i libpcap kütüphanesinde uygular; Windows için, libpcap'in artık desteklenmeyen veya geliştirilmeyen WinPcap adlı bir uyarlaması ve Windows 7 ve sonrası için hala desteklenen Npcap adlı bir uyarlaması vardır.