Kullanımı sırasında regex işlemlerine izin vermektedir. Yani data paketleri içerisinde arama da yapabiliyoruz. HTTP, SMTP, FTP gibi her türlü ağ trafiğini izlemek ve analiz etmek için kullanılmaktadır. Ayrıca kaynak ve port seçmemize de olanak sağlıyor.
Kurulumu şu şekildedir;
apt-get install ngrep
Kullanımı için bir kaç örnek vermek gerekirse;
ngrep -d any port 80
80. port ile ilgili tüm trafiği ekrana basacaktır. -d parametresi host üzerinde bulunan tüm network interfaceleri üzerindeki trafiği görmek için eklenmiştir, özelleştirmek için -d eth0 diyerek özel bir interface üzerindeki trafiği görebiliriz.
Çıktıları gözümüze biraz karmaşık gelebilir. O yüzden, çıktıları satır satır görmek için, -W Byline parametresini de ekleyebiliriz.
ngrep -d any -W Byline port 80
Detayları için bu sayfayı ziyaret edebilirsiniz : http://ngrep.sourceforge.net/usage.html
]]>curl veya wget, internet üzerinden dosya indirmemize yarar. curl kullanıyorsanız -O parametresi ile, wget kullanıyorsanız parametresiz bir şekilde bulunduğunuz dizine dosyayı indirebilirsiniz.
curl -O website.com/file wget website.com/file
ping komutu ECHO_REQUEST paketleri göndererek, bilgisayarınızın yazdığınız ip adresi veya domain ile iletişime geçip geçemediğini size bildirir. Ancak bunu kullanırken bazı sistemlerin ping komutuna yanıt verebilecek şekilde yapılandırılmadığını da göz önünde bulundurmalısınız.
Windowstaki ping komutu belirli sayıda paket göndererek size yanıtları gösterir, ancak Linux üzerinde siz sonlandırana kadar paket göndermeye ve size sonuç göstermeye devam eder. Bu yüzden Linuxta ping komutuna parametre olarak -c ve paket adedini yazarak kaç paket ile ping atılacağını yönetebilirsiniz.
ping -c 5 dubluve.net
tracepath komutu ile traceroute komutu birbirine benzer işlemler yapmaktadırlar. (tracepath Ubuntu’da kurulu olarak gelmektedir.) Eğer internet ağınızda bir yavaşlama veya bir problem varsa, bu komut size nerede hata olduğunu göstermektedir.
tracepath dubluve.net
Mtr komutu, gitmek istediğimiz ip adresine / domaine ulaşıncaya kadar geçtiğimiz ağları tanılamaya yarayan komuttur. Detayları için buradaki yazıyı inceleyebilirsiniz. Windowstaki kullanımı için de (tracert) buradaki yazıyı inceleyebilirsiniz.
mtr dubluve.net
(Çıkış yapmak için q veya ctrl-c kullanabilirsiniz.)
Domain kullanarak ip adresi öğrenebilen komuttur.
host dubluve.net
whois komutunu kullanarak websitesinin kimin adına kayıtlı olduğunu, name serverlarını vs. birçok bilgiyi öğrenebiliriz.
whois dubluve.net
Ubuntu’da whois kurulu olarak gelmemektedir, sudo apt-get install whois diyerek install edebilirsiniz.
ifplugstatus Ubuntu’da kurulu olarak gelmemektedir, sudo apt-get install ifplugd komutu ile install ediniz.
ifplugstatus komutu size network interface üzerindeki statusları gösterir.
ifplugstatus
Çıktısı şu şekilde olur;
eth0: unplugged lo: link beat detected wlan0: link beat detected
link beat detected demek, bağlı olduğunu gösterir, unplugged ise olmadığını gösterir.
ifconfig ağ üzerindeki bir çok bilginizi görmeye yarar. IP adresiniz, bağlantı türünüz, kullandığınız network arayüzü, aktif arayüzler vs.
ifconfig
dhclient komutu bilgisayarınızın ip adresinden yeni bir DHCP server yaratır. DCHP serverın ne olduğu hakkında bilgi edinmek için buradaki yazıyı okuyunuz.
dhclient Ubuntu’da root olmanızı istemektedir, eğer ip adersinizin aynı kalmasını istiyorsanız -r parametresi ile kullanınız.
sudo dhclient -r sudo dhclient
netstat komutu network arayüzünüzle ilgili bir çok bilgiyi sunmaktadır.
netstat
-p parametresi ile programların ilişkili olduğu socketleri görüntülersiniz.
netstat -p
-s parametresi ile portların detaylı istatistiklerini görüntülersiniz.
netstat -s]]>
İlk olarak network interface ayarlarımızı düzenliyoruz. Herhangi bir text editörü kullanarak bu işlemi yapabiliriz, örneğin nano ile yapmak için;
sudo nano /etc/network/interfaces
Açtığınız dosyanın içerisinde şunları göreceksiniz;
auto lo eth0 iface lo inet loopback iface eth0 inet dynamic
Eğer birden fazla network kartınız varsa, hangi network interface üzerinde ayar yaptığınıza dikkat etmelisiniz.
Dosyanın içerisini şu şekilde düzenliyoruz, ardından kaydediyoruz;
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address xxx.xxx.xxx.xxx(buraya ip adresini yazıyoruz)
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx(buraya router ip adresini yazıyoruz)
Ardından DNS ayarlarımızı değiştiriyoruz. Bunun için /etc/resolv.conf dosyasını düzenliyoruz.
sudo nano /etc/resolv.conf
Dosyayı açtıktan sonra içerisini şu şekilde düzenleyip kaydediyoruz;
nameserver xxx.xxx.xxx.xxx(dns server ip'si) nameserver xxx.xxx.xxx.xxx(alt dns server ip'si)
Son olarak network interface için restart yapıyoruz;
sudo /etc/init.d/networking restart
Eğer isterseniz ifconfig yazarak yaptığınız ayarları kontrol edebilirsiniz.
Kaynak : http://www.howtoforge.com/linux-basics-set-a-static-ip-on-ubuntu
]]>bu hatayı düzeltmeden önce static verdiğim ip nin başka bir bilgisayar tarafından aldığını gördüm ancak bir hata var belli. çünkü çakışma vb diye beni uyarmadı. Anladığım kadarıyla hatayı bu Aynı IP alma durumu tetikledi.
daha sonra buradaki yöntemleri uyguladım ve sorunum çözüldü.
Türkçesi :
Terminalden yapıyoruz :
sudo nano /etc/NetworkManager/NetworkManager.conf
managed=false yazan satırı managed=true diye editliyoruz.
Network yöneticisini yeniden başlatıyoruz.
sudo service network-manager restart
herhangi ihtimale karşı birazdan düzenleyeceğimiz dosyanın yedeğini alalım.
sudo cp /etc/network/interfaces /etc/network_interfaces_backup
Dosyayı açalım
sudo nano /etc/network/interfaces
buradaki ayarlarınız static ip için yapılanmış olabilir. Ancak ne var ne yok silip aşağıdaki otomatik kodu koymanız ilk etapta işinizi çözecektir. (ben silmedim, sadece IP’mi değiştirdim.)
auto lo
iface lo inet loopback
Dosyayı kaydettikten sonra network yöneticisini yeniden başlatalım.
sudo service network-manager restart
Ve işte düzelmiş olmalı!
Hala internete bağlanamıyorsanız, son olarak bir de /etc/resolv.conf içine nameserverlerinizi tekrar tanımlamanızda yarar var.
]]>LLDP (Link Layer Discovery Protocol), ethernet networklerinde bridge‘lerin, wireless access point’lerin vs. yayın yaptıkları ve yayınlarını aldıkları ilişkili cihazlar hakkında bilgi sahibi oldukları bir metoddur. Cihazlar arasındaki bilgiyi gösterir. Yani bir veri-bağlantı katmanı protokolüdür. LLDP, MAC (Media Access Control) katmanının üzerinde çalışır. Bu yüzden bir MAC servisini çalıştıran herhangi bir ağ cihazı üzerinde kullanılabilir.
LLDP mesajları kesin bilgileri garantilemek için pediyodik aralıklarla gönderilir. Bu zaman aralığı kullanıcının belirlerdiği TTL (Time To Live) değeridir. TTL default olarak 120 saniye olarak tanımlanmıştır. Cihazların kullanım durumlarına göre kullanıcı tarafından değiştirilebilir.
]]>Örneğin dubluve.net için tracert komutunun verdiği sonuçların bir kısmı şu şekildedir;
1 96 ms 101 ms 101 ms 192.168.1.1 2 * 196 ms 101 ms 85.102.64.1.dynamic.ttnet.com.tr [85.102.64.1] 3 235 ms 91 ms 101 ms 81.212.77.253.static.turktelekom.com.tr [81.212.77.253] 4 225 ms 101 ms 102 ms prtkl-4-1-bhclvlr-3-1.turktelekom.com.tr [212.156.118.22] 5 226 ms 27 ms 25 ms byrmpsa-3-1-fth-2-1.turktelekom.com.tr [212.156.107.82] 6 46 ms 50 ms 51 ms 212.156.131.166.static.turktelekom.com.tr [212.156.131.166]
tracert komutunun bir kaç parametresi de vardır, en çok kullanılanlar şu şekilde;
-d : IP adreslerinin bilgisayar çözümlemelerini yapmadan sonuç verir. Yani 81.212.77.253.static.turktelekom.com.tr [81.212.77.253] yerine sadece 81.212.77.253 verir.
Kullanımı => tracert -d www.dubluve.net
-h maximum_hoops : Girilen adrese gitmek için kullanılacak geçit sayısını gireriz.
Kullanımı => tracert -h 10 www.dubluve.net
-w timeout : Her paket için geridönüş süresi belirtmemize yarar.
Kullanımı => tracert -w 5 www.dubluve.net
Bu komutun linuxcası için sizi şu adrese alalım : http://dubluve.net/2012/08/18/linux-mtr-komutu-linux-mtr-command
]]>mtr –report www.dubluve.net yazdığımız zaman karşımıza o adrese gidinceye kadar geçilen ağları tek tek listeler, yanında da veri paketleri alış-verişi sırasında geçen süreyi ve gerekli detayları verir.
mtr –report www.dubluvet.net yazdığımızda karşımıza çıkan sonuçların bir kısmı şöyledir;
HOST: ubuntu Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.1.1 0.0% 10 1.0 6.4 0.9 53.4 16.5
2.|-- 85.102.128.1.dynamic.ttne 10.0% 10 27.7 30.6 20.7 60.5 13.6
3.|-- 81.212.77.253.static.turk 0.0% 10 21.0 52.6 21.0 122.5 44.6
| `|-- 212.156.118.22
4.|-- fth-2-1-fth-3-1.turktelek 30.0% 10 21.2 37.4 21.2 90.3 25.1
5.|-- byrmpsa-3-1-fth-2-1.turkt 0.0% 10 35.4 48.8 22.0 140.4 33.4
6.|-- 212.156.131.166.static.tu 0.0% 10 87.8 52.0 20.6 105.1 30.0
–report (veya -r) parametresini yazmazsak karşımıza anlık olarak değişen bir tablo çıkar. Bu tabloda, gitmek istediğimiz adrese gidene kadar geçtiğimiz ağ geçitleri ve anlık olarak gönderilen veri paketlerinin istatistikleri yer alır.
mtr komutunun parametrelerinden en çok kullanılanları ise şöyledir;
-n (–no-dns) : Sonuçlar kısmında ağ geçitlerinin bilgisayar isimlerinin görünmemesi için kullanılan parametre. Yalnızca geçilen IP adresleri listelenir.
-i SECONDS (–interval SECONDS) : Gönderilen veri paketleri için süre sınırlaması yapabilmemize yarayan parametredir kendileri.
-c COUNT (–report-cycles COUNT) : Gönderilen veri paketlerinin kaç kere gönderileceğine karar vermemize yarayan parametre. Yani biz 1 veri paketini bir ağ geçidinden 3 kere geçirip bunun sonucunu analiz edebiliriz.
-4 parametresi, sadece IPv4 kullanarak ağ geçitlerine veri gönderilmesini sağlar, -6 parametresi ise aynı işlemi sadece IPv6 kullanarak yapar.
Diğer parametrelere man mtr komutunu kullanarak ulaşabilirsiniz. Bu komutun windowscası işe şudur ; http://dubluve.net/2012/08/17/windows-tracert-komutu-tracert-command
]]>Bağlanılan makinede login olabilmek için orada bir username’e sahip olmanız ve bir telnet erişim programının olması gerekir. Telnet erişimli bazı web servisleri, bağlantı sırasında username istemeyebilirler, ya da girmemiz gereken username bağlantığımızda otomatik olarak karşımıza çıkabilir.
Telnet erişim programları genellikle işletim sistemi ile birlikte gelmektedir (Windows 7 işletim sisteminde güvenlik nedeni ile Telnet pasif haldedir. Aktifleştirmek için Program Ekle/Kaldır -> Windows özelliklerini aç ve ya kapat tıklayarak Telnet bileşenlerini aktifleştirebiliriz.). Telnet işlemleri genellikle komut satırından gerçekleşir.
Telnet protokolü girdiğimiz username ve password’u, bağlı olduğumuz ağda rahatlıkla görülebilecek şekilde düz metin (plain text) formatında gönderir. Bu yüzden telnet güvensizdir. Çünkü ağa erişebilen herkes girdiğimiz username ve password’u görebilir.
Windows ortamında Telnet istemcisini Başlat -> çalıştır -> telnet.exe yazarak çalıştırabiliriz. Daha sonra telnet komutu ardından da bağlanmak istediğimiz makinenin IP adresini yazarız (yazdıktan sonra Enter) ve karşımıza komut satırı gelir. Buraya username ve password yazdıktan sonra karşıdaki makineye bağlanmış oluruz. Komut satırından çalıştırabileceğimiz genel telnet komutlarından burada bahsettim.
Telnet karşıdaki makinaya bağlanmak için bir protokol dedik. Http ve Ftp’de karşıdaki makinaya bağlanmak için olan protokollerden bazıları. Özellikle internette uzaktaki bilgisayara bağlanmak ve protokoller izin verdiği ölçüde karşıdaki bilgisayarı kullanmak bu saydığım protokoller için geçerli.
Web üzerinde Http protokolünü kullanarak bilgisayarlar arasında gezinebiliyoruz. Genel mantığı, biz browser üzerinden sunucuya bir istekte bulunuruz ve sunucu bize isteğimiz doğrultusunda bir yanıt verir. Aynı şekilde Ftp protokolünde de bilgisayarımızdan sunucuya dosya alış-verişi konusunda istekte bulunuruz, sunucu da bize gerekli dosyayı verir ya da biz oraya dosyayı yükleriz. İki durumda da karşı makineye herhangi bir giriş (login olma) işlemi yok, sadece istekte bulunuyoruz.
Telnet kullandığımızda ise uzaktaki makineye giriş yaparız, yani login oluruz. Konsol sayesinde sanki o makinenin başındaymış gibi işlem yapabiliriz. Bu olaya Remote Login denir.
Ayrıca, Http ve Ftp protokollerini kullandığımızda uzaktaki bilgisayarın hangi işletim sistemi ile çalıştığı önemli değildir. Telnet kullandığımızda ise sunucunun sahip olduğu işletim sistemi bize sunulur. Dolayısıyla kullanılan işletim sistemi ve yazdığımız telnet komutları sonunca ortaya çıkan sonuç bize aynen yansır.
Günümüzde Telnet kullanımı uzaktaki sunucuya erişmek adına pek yaygın değildir. Fakat yine de sunucuya komut yollamak, gelen cevapları kontrol etmek ve SMTP, IRC, HTTP, FTP veya POP3 gibi servislerdeki sorunların tespitinde kullanılmaktadır.
]]>Bilgisayar ile internet arasındaki iletişimin modem üzerinden olduğunu, yani bilgisayar ile modem arasındaki yerel IP’ler üzerinden olduğunu artık biliyoruz.
Port Yönlendirme (Port forwarding) işlemi biz internete girerken genellikle gerekmeyebilir. Çünkü biz erişmek istediğimiz yere kendi IP adresimizi veriyoruz. Eğer bilgisayarımıza dışardan erişmek istiyorsak, karşı tarafa hangi IP adresine sahip olduğumuzu ve hangi portu kullandığımızı bildirmemiz gerekir. Verdiğimiz IP adresi ile ancak modeme erişilebilir, çünkü az önce de söylediğim gibi internete erişen aslında modemdir.
Uzaktaki bilgisayarın erişmek istediği bizim bilgisayarımız ise, modemin yapması gereken, dışarıdan gelen isteği bizim bilgisayarımıza yönlendirmektir. Örnek vermek gerekirse, modem, kendisine uzaktaki bilgisayardan, internet üzerindeki IP adresi ve A portuyla gelen bir isteği, bilgisayarımızın ilgili portuna yönlendirir. Modem yönlendirir diyorum fakat bu işlemi de biz gerçekleştiririz. Gerçekleşen bu işleme port yönlendirme denir.
]]>