26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Bir sunucu çalıştırırsanız, şüphesiz ağla ilgili bazı problemleri çözmeniz gereken bir noktaya geleceksiniz. Tabii ki sadece destek bölümüne bir posta çekmek kolay olurdu, ancak bazen ellerinizi kirletmeniz gerekir. Bu durumda, tcpdump
o iş için bir araçtır. Tcpdump, komut satırı altında çalışan bir ağ paket analizörüdür.
Bu makale üç bölüme ayrılacaktır:
Tcpdump çoğu temel sisteme dahil olmadığından, yüklemeniz gerekir. Ancak, hemen hemen tüm Linux dağıtımlarının çekirdek depolarında tcpdump vardır. Debian tabanlı dağıtımlar için, tcpdump yükleme komutu:
apt-get install tcpdump
CentOS / RedHat için aşağıdaki komutu kullanın:
yum install tcpdump
FreeBSD, aşağıdakileri yaparak kurulabilen önceden oluşturulmuş bir paket sunar:
pkg install tcpdump
Ayrıca net/tcpdump
şu şekilde kurulabilen bir bağlantı noktası vardır :
cd /usr/ports/net/tcpdump
make install clean
Herhangi tcpdump
bir argüman olmadan koşarsanız, sonuçlarla çarpılacaksınız. Vultr'da burada yeni döndürülmüş bir örnek üzerinde beş saniyeden daha az bir süre çalıştırılması aşağıdaki sonuçları verir:
2661 packets captured
2663 packets received by filter
0 packets dropped by kernel
Girişin nasıl filtreleneceğiyle ilgili daha fazla ayrıntıya girmeden önce, tcpdump'a geçirilebilecek bazı parametrelere göz atmalısınız:
-i
- belirtir, örneğin, dinlemek istediğiniz arayüzü: tcpdump -i eth0
.-n
- IP adreslerinde ters arama yapmaya çalışmayın, örneğin: tcpdump -n
(başka bir n
tcpdump eklerseniz , adlar yerine bağlantı noktası numaralarını gösterecektir).-X
- Toplanan paket içeriğini göster: tcpdump -X
.-c
- Sadece yakalama x
paketleri, x
örnek için rastgele sayı olmak tcpdump -c 10
yakalamaları tam 10 paket.-v
- Gösterilen paket bilgisi miktarını artırın, daha v
fazla ayrıntı daha fazla ekleyin.Burada bahsedilen parametrelerin her biri birlikte kombine edilebilir. 100 paketi yakalamak istiyorsanız, ancak yalnızca VPN arabirimi tun0'da, tcpdump komutu şöyle görünecektir:
tcpdump -i tun0 -c 100 -X
Bunlara ek olarak düzinelerce (yüzlerce olmasa da) seçenek var, ancak bunlar en yaygın olanları. Sisteminizdeki tcpdump'ın sayfasını okumaktan çekinmeyin.
Artık tcpdump hakkında temel bir anlayışa sahip olduğunuza göre, tcpdump'ın en harika özelliklerinden birine bakmanın zamanı geldi: ifadeler. İfadeler hayatınızı daha kolay hale getirecektir. BPF veya Berkeley Paket Filtreleri olarak da bilinirler. İfadeleri kullanmak, paketleri başlangıç, hedef, boyut ve hatta TCP sıra numarası gibi belirli özelliklere göre seçerek görüntülemenizi (veya yok saymanızı) sağlar.
Şimdiye kadar, aramanızı belirli bir arayüzde belirli bir paketle sınırlamayı başardınız, ancak burada dürüst olalım: toplanan verilerle etkili bir şekilde çalışmak için hala çok fazla arka plan gürültüsü bırakıyor. İşte ifadeler devreye giriyor. Konsept oldukça basittir, bu yüzden kuru teoriyi burada bırakacağız ve bazı pratik örneklerle anlayışı destekleyeceğiz.
Muhtemelen en çok kullanacağınız ifadeler şunlardır:
host
- Ana bilgisayar adlarına veya IP adreslerine dayalı trafik arayın.src
veya dst
- Belirli bir ana bilgisayardan veya belirli bir ana makineye gelen trafiği arayın.proto
- Belirli bir protokolün trafiğini arayın. Tcp, udp, icmp ve diğerleri için çalışır. proto
Anahtar kelimeyi atlamak da mümkündür.net
- Belirli bir IP adresi aralığına / aralığından gelen trafiği arayın.port
- Belirli bir limana / limandan trafik arayın.greater
veya less
- Belirli bir bayttan daha büyük veya daha küçük trafik arayın.For manpage tcpdump
sadece birkaç örnek içermekle birlikte, for manpage, pcap-filter
her filtrenin nasıl çalıştığı ve nasıl uygulanabileceği konusunda çok ayrıntılı açıklamalara sahiptir.
Belirli bir sunucu ile iletişiminizin nasıl gittiğini görmek istiyorsanız, host
anahtar kelimeyi kullanabilirsiniz, örneğin (yukarıdan bazı parametreler dahil):
tcpdump -i eth0 host vultr.com
Bazen ağda MTU'yu onurlandırmayan veya büyük paketlerle spam yapan bilgisayarlar olabilir; onları filtrelemek bazen zor olabilir. İfadeler, belirli bir bayttan daha büyük veya daha küçük paketleri filtrelemenize olanak tanır:
tcpdump -i eth0 -nn greater 128
or
tcpdump -i eth0 -nn less 32
Belki sadece belirli bir liman sizin için ilgi çekicidir. Bu durumda, şu port
ifadeyi kullanın :
tcpdump -i eth0 -X port 21
Bağlantı noktası aralıklarına da bakabilirsiniz:
tcdump -i eth0 -X portrange 22-25
NAT ağ geçitleri oldukça yaygın olduğundan, yalnızca hedef bağlantı noktalarını arayabilirsiniz:
tcpdump dst port 80
Web sunucunuza trafik izliyorsanız, yalnızca 80 numaralı bağlantı noktasına giden TCP trafiğine bakmak isteyebilirsiniz:
tcpdump tcp and dst port 80
Muhtemelen kendinize anahtar kelimenin and
orada ne yaptığını soruyorsunuz . İyi soru. Bu bizi bu makalenin son bölümüne getiriyor.
tcpdump
mantıklı ifadeler için temel destek sunar, daha spesifik olarak:
and
/ &&
- Mantıksal "ve".or
/ ||
- Mantıksal "veya".not
/ !
- Mantıksal "değil".İfadeleri birlikte gruplama yeteneği ile birlikte, gelen ve giden trafik için çok güçlü aramalar oluşturmanıza olanak tanır. Öyleyse 22 veya 443 numaralı bağlantı noktasında vultr.com adresinden gelen trafiği filtreleyelim:
tcpdump -i eth0 src host vultr.com and (dst port 22 or 443)
Bunu komut satırında çalıştırmak size aşağıdaki hatayı verecektir:
bash: syntax error near unexpected token `('
Çünkü bir uyarı var: bash
yapabildiği her karakteri değerlendirmeye çalışıyor. Buna (
ve )
karakterleri dahildir . Bu hatayı önlemek için, birleştirilmiş ifadenin çevresinde tek tırnak kullanmalısınız:
tcpdump -i eth0 'src host vultr.com and (dst port 22 or 443)'
Başka bir yararlı örnek: Kullanıcılarınızdan biriyle SSH sorunlarında hata ayıklarken, SSH oturumunuzla ilgili her şeyi göz ardı etmek isteyebilirsiniz:
tcpdump '!(host $youripaddress) && port 22)'
Yine, kullanım senaryoları sonsuzdur ve ne tür bir trafik görmek istediğinizi aşırı derinliklere belirtebilirsiniz. Aşağıdaki komut size yalnızca bir TCP el sıkışmasının SYNACK paketlerini gösterir:
tcpdump -i eth0 'tcp[13]=18'
Bu, TCP başlığının onüçüncü ofsetine ve içindeki on sekizinci bayta bakarak çalışır.
Burada sonuna kadar yaptıysanız, ortaya çıkacak çoğu kullanım için hazırsınız demektir. Çok fazla ayrıntıya girmeden yüzeye zar zor dokunabiliyorum. Farklı seçenekleri ve ifadeleri biraz daha denemenizi önemle tavsiye ederim; ve her zamanki gibi: kaybolduğunuzda manpage'e bakın.
Son fakat en az değil - hızlı bir bakış. Bu makalenin başlangıcını hatırlıyor musunuz? Saniyeler içinde yakalanan binlerce paketle? Gücü, tcpdump
bunu bir sürü kesebilir:
tcpdump -i eth0 tcp port 22
Sonuç şimdi:
81 packets captured
114 packets received by filter
0 packets dropped by kerne
Bu daha akılcı ve hata ayıklamak daha kolaydır. Mutlu ağlar!
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun