Ngrep

Özgür bir ağ paket çözümleyicisi

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
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, 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

değiştir

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

değiştir

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

değiştir

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

değiştir
  • 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

değiştir

Kaynakça

değiştir
  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

değiştir
  NODES
INTERN 4