CentOS 7de Tavşan Kümesini Kümeleme
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
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!
RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir
NFS, bilgisayarların bilgisayar ağı üzerindeki dosyalara erişmesine izin veren ağ tabanlı bir dosya sistemidir. Bu kılavuz, klasörleri NF üzerinden nasıl açığa çıkarabileceğinizi açıklar
Bu kılavuz, Ubuntu 16.04 çalıştıran bir Vultr örneği için GitBucketin temel kurulumunu ve kurulumunu kapsar ve komutları şu şekilde yürüttüğünüzü varsayar:
Farklı Bir Sistem mi Kullanıyorsunuz? Directus 6.4 CMS, geliştirici sağlayan güçlü ve esnek, ücretsiz ve açık kaynaklı Başsız İçerik Yönetim Sistemidir (CMS)
Farklı Bir Sistem mi Kullanıyorsunuz? Mattermost, Slack SAAS mesajlaşma servisine açık kaynaklı, kendi kendine barındırılan bir alternatiftir. Başka bir deyişle, Mattermost ile,
TeamTalk, kullanıcıların yüksek kaliteli sesli / görüntülü konuşmalara, metin sohbetine, dosya aktarımına ve ekranları paylaşmasına olanak tanıyan bir konferans sistemidir. Ben
Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size
Vultr, yeni bir örnek oluşturduktan sonra SSH anahtarlarını önceden yüklemenizi sağlayan bir özellik sağlar. Bu, sunucu kök kullanıcısına erişmenizi sağlar, ancak
Farklı Bir Sistem mi Kullanıyorsunuz? Diaspora gizliliğe duyarlı, açık kaynaklı bir sosyal ağdır. Bu derste, bir Diaspora posının nasıl kurulacağını ve yapılandırılacağını öğreneceksiniz
Farklı Bir Sistem mi Kullanıyorsunuz? Fuel CMS, CodeIgniter tabanlı bir içerik yönetim sistemidir. Kaynak kodu GitHubda barındırılmaktadır. Bu kılavuz size
Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların önüne # ve bir
Farklı Bir Sistem mi Kullanıyorsunuz? Snipe-IT, BT varlık yönetimi için ücretsiz ve açık kaynaklı bir web uygulamasıdır. Laravel 5.2 çerçevesi ve kullanımı üzerine yazılmıştır.
Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak
Ranger, VI anahtar bağlamaları olan komut satırı tabanlı bir dosya yöneticisidir. Dizin hiyerarşisi manzaralı minimalist ve hoş bir curses arayüzü sağlar
Farklı Bir Sistem mi Kullanıyorsunuz? Brotli, GZIPden daha iyi bir sıkıştırma oranına sahip yeni bir sıkıştırma yöntemidir. Kaynak kodu bu Githuda herkese açık olarak barındırılıyor
Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b
Farklı Bir Sistem mi Kullanıyorsunuz? Omeka Classic 2.4 CMS, digita paylaşımı için ücretsiz ve açık kaynaklı bir dijital yayıncılık platformu ve İçerik Yönetim Sistemidir (CMS)
Önkoşullar Güncel Arch Linux çalıştıran bir Vultr sunucusu (bu makaleye bakın.) Sudo erişimi. Kök olarak çalıştırılması gereken komutların başına # işareti gelir. th
SSH üzerinden kök girişine izin vermek, teknoloji endüstrisinde genellikle zayıf bir güvenlik uygulaması olarak kabul edilir. Bunun yerine, hassas yönetim gerçekleştirebilirsiniz
Farklı Bir Sistem mi Kullanıyorsunuz? RabbitMQ, Erlang programlama dilinde yazılmış, yaygın olarak kullanılan açık kaynaklı bir mesaj aracısıdır. Mesaj odaklı bir ara katman yazılımı olarak
CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.
Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.
OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.
Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.
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?