Bu madde veya sayfa başka bir dilden kötü bir biçimde tercüme edilmiştir. Sayfa makine çevirisi veya dilde yetkinliği bulunmayan bir çevirmen tarafından oluşturulmuş olabilir. Lütfen çeviriyi geliştirmek için yardım edin.(Ekim 2023)
Bilgisayarağ yönetimi alanında, pcapağ 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.
Herhangi bir izleme yazılımı, libpcap, WinPcap veya Npcap'i bir bilgisayar ağı üzerinde dolaşan ağ paketi yakalamak ve daha yeni sürümlerde paketleri bağlantı katmanı üzerinde bir ağa iletmek ve libpcap, WinPcap veya Npcap ile olası kullanım için ağ arayüzlerinin bir listesini almak için kullanabilir.
Pcap API, C ile yazılmıştır, bu nedenle Java, .NET dilleri ve betik dili gibi diğer diller genellikle bir sarmalayıcı kütüphane (wrapper) kullanır; libpcap veya WinPcap'in kendisi tarafından böyle bir sarmalayıcı sağlanmamıştır. C++ programları doğrudan C API'sine bağlanabilir veya bir nesne yönelimli sarmalayıcı kullanabilir.
libpcap, WinPcap ve Npcap ayrıca yakalanan paketlerin bir dosyaya kaydedilmesini ve kaydedilen paketleri içeren dosyaların okunmasını da destekler; libpcap, WinPcap veya Npcap kullanılarak, ağ trafiğini yakalayıp analiz edebilmek veya kaydedilmiş bir yakalamayı okuyup aynı analiz kodunu kullanarak analiz edebilmek için uygulamalar yazılabilir. libpcap, WinPcap ve Npcap'in kullandığı biçimde kaydedilen bir yakalama dosyası, tcpdump, Wireshark, CANetMaster veya Microsoft Ağ İzleyicisi 3.x gibi bu biçimi anlayan uygulamalar tarafından okunabilir.
libpcap, WinPcap ve Npcap tarafından oluşturulan ve okunan dosya biçimi için MIME türü application/vnd.tcpdump.pcap'dir. Tipik dosya uzantısı .pcap'tir, ancak .cap ve .dmp de yaygın olarak kullanılmaktadır.
Tarihçe
libpcap ilk olarak tcpdump geliştiricileri tarafından Lawrence Berkeley Ulusal Laboratuvarı'ndaki Ağ Araştırma Grubu'nda geliştirilmiştir. Tcpdump'ın düşük seviyeli paket yakalama, yakalama dosyası okuma ve yakalama dosyası yazma kodu, kod içerisinden çıkartıldı ve tcpdump'ın bağlandığı bir kütüphane haline getirildi.[5] pcap şu anda tcpdump'ı geliştiren aynı tcpdump.org grubu tarafından geliştirilmektedir.[6]
Windows için pcap kütüphaneleri
libpcap başlangıçta Unix benzeri işletim sistemleri için geliştirilmiş olsa da, Windows için WinPcap adı verilen başarılı bir uyarlama yapılmıştır. 2013'ten beri bakımı/geliştirmesi yapılmamaktadır,[7] ve Windows'un daha yeni sürümleri için yeni özellikler ve destek ile birkaç rakip çatal projeler piyasaya sürülmüştür.
Bu sürücülerle iletişim kurmak için listelenen işletim sistemleri için daha düşük seviyeli bir kütüphanenin uygulamaları;
Düşük seviyeli kütüphane uygulamaları tarafından sunulan API'yi kullanan bir libpcap uyarlaması.
Orijinal kodu Politecnico di Torino'daki programcılar yazdı; 2008 itibarıyla WinPcap geliştiricilerinden bazıları tarafından kurulan bir şirket olan CACE Technologies ürünü geliştirdi ve sürdürdü. CACE, 21 Ekim 2010 tarihinde Riverbed Technology tarafından satın alındı.[9]
WinPcap eski NDIS 5.x API'lerini kullandığından, daha yeni NDIS 6.x API'leri lehine bu API'leri kullanımdan kaldıran veya onaylamayan bazı Windows 10 yapılarında çalışmaz. Ayrıca Ethernet başlıklarında 802.1Q VLAN etiketleri yakalayamamak gibi bazı sınırlamalara da neden olur.
WinPcap projesi geliştirmeyi durdurdu ve WinPcap ile WinDump artık sürdürülmüyor. Son resmi WinPcap sürümü 8 Mart 2013'te yayınlanan 4.1.3 idi.[10]
Npcap
Npcap Nmap Project'in Windows için paket koklama kütüphanesidir.[11] WinPcap tabanlıdır, ancak Network Driver Interface Specification sürüm 6'daki Windows ağ geliştirmelerinden yararlanmak için yazılmıştır. Yazarları WinPcap NDIS 5 Protokol Sürücüsünü Hafif Filtre (LWF: Light-Weight Filter) sürücüsü olarak yeniden yazmışlardır, bu değişiklik işlem yükünü azaltmaktadır.[12] Npcap bakım sürümleri, yazılım yazarlarının Linux yazılımının zaten desteklediği daha yeni API özelliklerini kullanmasına olanak tanıyarak, dahil edilen libpcap kütüphanesinin sürümünü mevcut en son sürüme güncelledi.[13] WinPcap kullanan çoğu yazılım, minimum değişiklikle Npcap kullanmak için kolayca uyarlanabilir.[14]
Npcap, WinPcap'te bulunmayan çeşitli yenilikler getirmiştir:
Npcap, yaygın olarak kullanılan çeşitli ağ adaptörlerinde WiFi 802.11 çerçeveleri yakalayabilir.[17]
Win10Pcap
Win10Pcap uygulaması da NDIS 6 sürücü modeline dayanır ve Windows 10 ile kararlı bir şekilde çalışır.[18] Ancak proje 2016 yılından beri aktif değildir.[19]
libpcap kullanan veya kullanmış olan programlar
Bit-Twist, BSD, Linux ve Windows için libpcap tabanlı bir Ethernet paket üreticisi ve düzenleyicisi.
Cain and Abel, Microsoft Windows için geliştirilmesi durdurulmuş bir şifre kurtarma aracı
EtherApe, ağ trafiğini ve bant genişliği kullanımını gerçek zamanlı olarak izlemek için grafiksel bir araç.
Suricata, bir ağ saldırı önleme ve analiz platformu.
Symantec Veri Kaybı Önleme (Data Loss Prevention), Hassas verileri izlemek ve tanımlamak, kullanımını ve konumunu izlemek için kullanılır. Veri kaybı ilkeleri, hassas verilerin ağdan çıkmasının veya başka bir cihaza kopyalanmasının engellenmesini sağlar.
tcpdump, daha fazla analiz için paketleri yakalamak ve dökmek amacıyla geliştirilmiş bir araç. WinDump, tcpdump'ın Windows uyarlaması.