Hping ile portsuz dosya transferi

Hping, rastgele TCP/IP paketleri göndermemize olanak sağlayan bir araçtır. hping ile

TCP (Transmission Control Protocol),
UDP (User Datagram Protocol),
ICMP (Internet Control Message Protocol),
Raw paketler üretebilir.

Hping aşağıdaki amaçlar için kullanılabilir:
  • Güvenlik duvarı testi
  • Gelişmiş port taraması
  • Ağ testleri, farklı protokollerle çalışma, TOS, fragmentation
  • Manuel biçimde MTU (Maximum Transmission Unit) tespiti
  • Desteklenen tüm protokollerin altında gelişmiş traceroute
  • Uzaktan işletim sistemi tanımlama
  • Uzaktan çalışma süresi tahmin etme
  • TCP/IP'yi öğrenmek isteyen öğrencilere yardımcı olma
Yazımızın konusu olan ICMP üzerinden portsuz dosya transferi yapmak için hping aracı aşağıdaki gibi kullanılabilir:

Alıcı taraf (dinleyici makine):

sudo hping3 --listen <ip address> -I <network-interface (eth0,lo, etc)> --sign MSGID1

örnek kulanım: sudo hping3 --listen 8.8.8.8 -I eth0 --sign MSGID1


Gönderici taraf (istemci makine):

sudo hping3 <ip address> --icmp --sign MSGID1 -d 5000 -c 1 --file .bash_history

örnek kulanım:
sudo hping3 8.8.8.8 --icmp --sign MSGID1 -d 5000 -c 1 --file .bash_history

İstemci tarafta komut çalıştırıldığında dinleyici tarafın ekranında .bash_history dosyasının içeriğinin yollandığı görülebilecektir.

Note: 

Hping aşağıdaki işletim sistemlerinde çalışır: Linux, FreeBSD, NetBSD, OpenBSD, MacOS X ve Windows.

Bash'de alias işlemini kalıcı hale getirme

04:08 ,

Bash kabuğunun bize sağladığı kolaylıkların yanında kişiselleştirmek bazı uzun ve sık kullandığımız komutları kısa isimler vererek aliasing işlemine başvurmak önemli bir kolaylık sağlayacaktır. Bunun için yapılması gerekenleri sırayla açıklayalım. Öncelikle alias işlemini geçici veya kalıcı olarak gerçekleştirmek mümkündür.Terminal ekranından;

  • :~ $ alias wip='curl ifconfig.me/ip' (wip = '...' bu üç parça arasında boşluk olmamasına dikkat edin)
  • :~ $ wip

şeklinde session sonuna kadar wip komutunu kullanarak çıkış ip'mizi hızlıca bulmak mümkün. Fakat bu alias yapılmış komut terminal açılıp kapandığında geçerliliğini yitirecektir.

Komutu kalıcıTerminal'den çok kullandığım ll komutunu raspbian dağıtımında göremeyince (2. resimdeki 1 numaralı kısım) buraya eklemek istedim. Şimdi sırasıyla alias işlemini kalıca hale getirmek için yapılması gerekenleri sıralayalım;
  • vim ~/.bashrc komutu (2. resimdeki 2 numaralı kısım) ile ilgili dosyayı açalım.
  • Dosyanın sonuna gelelim ve   alias ll='ls -al' ifadesini yazalım. Aynı isimli birden fazla alias varsa dosya yukarıdan aşağıya çalıştığı için en son yazılan geçerli olacaktır.
  • Yazdığımız alias işlemi hemen aktif hale gelmesini istiyorsak source ~/.bashrc komutu (2. resimdeki 3 numaralı kısım) ile bunu gerçekleştirmek mümkündür. Aksi halde terminal açılıp kapandığında da aktif hale gelecektir.
  • Ve adımları tamamladıktan sonra tekrar ll komutunu çalıştırırsak (2. resimdeki 4 numaralı kısım) başarılı bir şekilde çalıştığı görülmektedir.



Linux'ta rsync ile dosya transferi

07:57 ,

Linux'ta dosya transferi için komut satırından kullanılan scp komutuna alternatif olarak rsync komutu kullanılabilir. Hem dosya indirme hem de dosya yükleme amacıyla kullanabileceğimiz bu komutun kullanım şekli aşağıdaki gibidir:

Dosya indirme


2 numaralı alan download edilecek dosyanın full path'i 
3 numaralı alan ise kaydedilecek yerin full path'i

-ravz parametreleri:

 -r, --recursive             recurse into directories (belirtilen bir dosya ise recursive olarak aktarma)
 -a, --archive               archive mode
 -v, --verbose               increase verbosity
 -z, --compress            compress file data during the transfer (aktarım sırasında sıkıştırma)

Dosya yükleme


2 numaralı alan upload edilecek dosyanın full path'i 
3 numaralı alan ise kaydedilecek hedef yerin full path'i



Betik çalışma süresini hesaplama

05:56 , ,

Yazdığımız bir betiğin çalışma süresini hesaplama yöntemlerinden biri betik içerisine aşağıdaki gibi bir yöntem izlenmesidir.


1 noktasında sistemin o anki zamanını bir değişkene kaydettikten sonra betik yapması gereken işleri tamamlar ardından 2 numaralı alana geçer ve o anki sistem zamanını alır. Son olarak aradan geçen zamanı hesaplayarak betiğin toplam çalışma süresini hesaplayabiliriz. Aşağıda yukarıda yazdığımız örneğin çıktısı görülebilir.


ikinci yöntem ise time komutu aracığılıyla bu işlemi gerçekleştirmedir. Bu yöntem ise aşağıda görebileceğiniz üzere;


çalıştıracağımız betiği time komutu ile birlikte çalıştırma şeklindedir.


Linux sistemlerde usb device mount etme

05:45 ,

Find what the drive is called

Aşağıda görülebileceği üzere lsblk komutu ile sisteme takılan usb'nin hangi partion'da olduğu görülebilir. Burada sıkıntılı olan takılan usb'ye ait ayırt edici bir bilginin görülememesidir.


sudo fdisk -l komutu ile benzer biçimde takılan usb depolama aygıtları da listelenecektir. Burada da yukarıdaki komutta olduğu gibi açıklayıcı bilgi eksikliği problemi karşımıza çıkmaktadır.

sudo blkid komutu ise en temiz bilgileri veren komut olarak karşımıza çıkmaktadır. USB cihazın adı, yolu net bir biçimde görünmektedir.


Bir diğer yöntem ise takılan usb'ye ilişkin bilgileri kernel ring buffer'dan elde etmektir. dmesg | tail -10 komutu ile bilgiler görülebilir.


Yukarıda görüleceği üzere SanDisk için sdf:sdf1 biçiminde yol ifadesi görülebilmektedir. 

Create a mount point

Ardından sistemde mount noktası oluşturmak için bir klasör oluşturulur. Genelde /media dizini altına oluşturulur. Biz de öyle yapalım.
  • mkdir  /media/usbSandisk/

Mount

  • sudo mount /dev/sdf1 /media/usbSandisk/   komutu ile mount işlemi gerçekleştirilir.

Unmount

  • sudo umount /media/usbSandisk/
  • sudo umount /dev/sdf1
komutları girilir.





Podcast Tavsiyesi - II

02:14


Yalansavar

www.yalansavar.org


Skeptik, Şüpheci bir grup insanın safsatalarla ilgili yaptığı bir podcast yayını. Özellikle bizim gibi toplumlarda zihinsel kirlenmeyi engellemesi açısından herkese tavsiye ederim.

Muhabbet Teorisi

http://www.muhabbetteorisi.com/
www.muhabbetteorisi.com/feed/podcast/


Yayın hayatına 2011 Kasım ayında başlamış Açık Bilim oluşumunun sonlanmasının ardından Muhabbet Teorisi ismiyle yeniden ortaya çıktığı bir podcast yayını. Bilimle ilgilenenlere tavsiye edilir.

Havadan sudan

http://www.35milimetre.com/havadan-sudan/


Hande Turan ve Mehmet Turan çifti tarafından gündeme/hayata dair samimi izlenimlerini paylaştıkları bir podcast kanalı. Herkese tavsiye ederim. Kendilerine tavsiyem ise programlarına biraz daha konuk çıkarmaları. Böylece yayın içerikleri biraz daha zenginlik kazanmış olur.

Ottoman History Podcast

http://www.ottomanhistorypodcast.com/



Osmanlı tarihiyle ilgili eşi benzeri görülmemiş bir podcast. İngilizce ve Türkçe yayınlar bulmak mümkün. Kesinlikle tarihe karşı algılarınızın biraz da olsa düzeleceğini düşündüğüm bir podcast yayını. Tarih konusunda tarafsız-doğru yayın bulmak biz de her yerde olduğundan daha da zor olması bu podcast yayınını daha kıymetli hale getiriyor. Sadece Türkçe yayınların olduğu podcastler ise aşağıdaki linkte:

http://www.ottomanhistorypodcast.com/p/turkce.html


Girişimci Muhabbeti

http://www.girisimcimuhabbeti.com/


Samican Tandoğdu ve Baris Kocdur tarafindan sunulan bir podcast yayını. Temelde internet girişimleriyle (start up) ilgili konuşmaların yapıldığı bir yayın. Girişimci ruhlu insanlar ve start up dünyası hakkında fikir sahibi olmak isteyenlere tavsiye olunur.

FHE KÖLN Radyosu

http://www1.wdr.de/radio/podcasts/fhe/koeln_radyosu120.podcast


Almanya'dan Türkiye'nin nasıl göründüğü hakkında fikir sahibi olmak isteyenlere ve dinleyicilerin konuk olduğu pazar programı ile gurbetçilerimizin fikir ve zihin dünyasına giriş yapabilirsiniz.

Linux sistemlerde uzak bağlantı test işlemleri

05:29 , ,
ssh server'a bağlanırken karşıdaki sisteme bağlanamama gibi bir sıkıntıda acaba sistem ayakta mı,
22. portu dinliyor mu, firewall tarafında mı bir kural mı var ki connection refused cevabı dönüyor gibi uzak bağlantı problemlerine ilk yapılması gereken karşıdaki makineye ping atmaktır. Özel durumlar hariç sistem ayaktaysa ping'e cevap gelecektir.

  • ping komutu kullanılarak işletim sistemi ayakta mı önce bu öğrenilir.


  • nc komutu kullanılarak 22 port üzerinden tcp/ssh bağlantısı test edildi ve başarılı olduğu görülmüştür.


  • Alternatif nc sorgularına verilen cevaplar aşağıdaki gibidir.


    • nmap ile daha detaylı olarak hem portun açık olup olmadığını hem de hangi servisin çalıştığını öğrenebiliriz.