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.




    Yazılan betikleri(scriptleri) kısayol haline getirme

    06:46 ,
    Kendi yazdığımız scriptleri terminal aracılığıyla her yerde ulaşabilmek için yapılması gereken adımlar aşağıdaki gibidir:

    • /etc/local/scripts klasörü oluşturulur. İçine istenilen scriptler kopyalanır. Scriptleri bir klasör içinde tutmak ileride taşıma durumlarını kolaylaştıracaktır.


    • Ardından vim ile /etc/bash.bashrc içine export PATH=$PATH:/etc/local/scripts şeklinde bir çevresel değişken eklenmelidir.


    • source /etc/profile komutu çalıştırıldıktan sonra /etc/local/scripts altındaki dosya isimleri tap yapıldığında (ls,touch nasıl tab yapıldığında geliyorsa) gelecektir.



    Disk ve CPU sistem sıcaklık değerlerini gözlemleme

    04:07


    • sudo apt-get install lm-sensors
    • sudo sensors-detect
    • sudo service kmod start
      ile gerekli kurulumlar yapıldıktan sonra CPU sıcaklıkları görüntülenebilir.

    sensors

    watch -d sensors

    • sudo apt-get install hddtemp
      ile gerekli kurulumlar yapıldıktan sonra  harddiskinizin  sıcaklığı görüntülenebilir.
    hddtemp /dev/sda







    Linux'te kabuk süreç yönetimi (Shell Job Control Commands)

    04:56 ,

    Terminal ekranında başlattığımız bir sürevi ön kısmı veya arka kısma atmak işlemi durdurmak veya sonlandırmak gibi terminal ekseninde yapmamız gereken işlemler anlatılacaktır.


    type komutu ile ping ve bg komutlarına bakılırsa ikisinin ayrı kategoride komutlar olduğu görülecektir. ping bağımsız bir program fakat bg terminal içinde gömülü bir (terminale özgü) komut olduğu görülecektir.

    • ctrl+c : çalışan process'in sonlandırılmasını (kill process) sağlar.
    • ctrl+z : çalışan process'in durdurulması (pause process) sağlar.
    • jobs : Terminal tarafından başlatılan ve durdurulan process'leri görüntülemek için kullanılır. Farklı bir terminal açılıp bakıldığında jobs -l komutunun çıktısın boş olduğu görülmektedir. 
    • bg : komutu durdurulan process'i kaldığı yerden arka planda çalışmaya devam etmesi için kullanılır.

    • fg:komutu durdurulan process'i kaldığı yerden ön planda çalışmaya devam etmesi için kullanılır.

    • kill %?komutu durdurulan process'i öldürmek için kullanılır.


    Podcast Tavsiyesi

    05:18


    İstanbul gibi yaşam kalitesinin düşük olduğu bir şehirde (yöneticilere, yaşayan O çoğunluk kitleye buradan teşekkürler) ulaşım süresince kendimizi soyutlayabilmek (akıl ve ruh sağlığı açısından biraz da zorunlu) zamanızı iyi değerlendirmek açısından önem arzetmektedir. Bu  konuda sosyal medya hesaplarından arta kalan zamanlarda dinleyecebileceğiniz türkçe podcast tavsiyelerinde bulanacağım. Hem kendimizi geliştirebileceğimiz hem de hoş vakit geçirebileceğimiz podcastler aşağıda listelenmiştir.
    • http://www.acikbilim.com/

      Popüler bilim konularında türkçe podcast hazırlamaktadır. Popüler bilimle ilgilenenlerin tavsiye edilir.
    • http://devpod.org/

      Daha çok yazılım dünyası ile ilgili yayınların olduğu bir podcast. Meslek olarak bu alanda çalışıyorsanız takip etmenizi tavsiye derim.
    • http://www.galipdursun.com/gerisihikaye/

      Anadolu korku hikayeleri fikriyle başlayıp bir ayağı anadolu diğer ayağı tüm dünya olan bir podcast olan Gerisi Hikaye, ilk başlarda dinleyecek podcast olmadığından dinlediğim ama sıkı bir takipcisi olduğum korku hikayeleri konusunda başarılı ve tek türkçe podcast. Umarım ömrü  uzun olur. Bu topraklarda iyi şeylerin ömrü hep kısa olmuştur. Umarım bu konuda bizi yanıltırlar.
    • http://bilimkazani.org/

      Bilim kazanı, ismiyle müsemma bilimsel konulara getirdikleri farklı anlatım tarzları ile eğlenceli bir podcast. Genç bilim insanlarının Amerikadan ülkemize seslenmeleri de ayrı bir güzellik. Son zamanlarda podcast sıklığı 0 düzeyine yaklaştı. Umarım düzeltirler.
    • http://bahrikaracay.com/

      Değerli bir bilim adamı Bahri Karaçay'ın Amerikadan yaptığı podcast'ler bilimle ilgilenenler için faydalı olacaktır.
    • http://acikradyo.com.tr/

      Bir çok konuda faklı yayınlar bulabaliceğiniz bir oluşum. Yayınları bitmiş podcast arşivlerine de ulaşabilirsiniz. Mutlaka ilginizi çeken konular bulabilirsiniz.
    • http://kayitbasladi.com/

      Tam bir kafa boşaltma ve geyik ortamı. Şiddetle tavsiye edilir.
    • http://www.avustralyadakideliler.com/

      Yurt dışına çıkmak/çalışmak isteyenlerin Avustralya merkezli bir grup insanın deneyimlerini dinleyebileceğiniz bir podcast. Kayıtlarını biraz daha iyi cihazlarla yaparlarsa daha da dinlenilese olacak.
    • http://adaptasyon.tumblr.com/

      Adaptasyon, yeni teknoloji, yeni ekonomik dengelerin toplumdaki etkilerini Dünya ve Türkiye açısından değerlendirme çalışan bir podcast yayını.
    • https://teknoseyir.com/

      Bu işi gerçekten para merkezli değil iyi şeyler yapalım gayesiyle yapıldığına inandığım bir oluşum olan Teknoseyir ekibinin podcasti. Teknoloji konusunda meraklı iseniz dinlemenizi tavsiye ederim. Teknoseyir vasıtası ile tanıştığım Otoseyir tayfasından Can Akbulut & Emre Çelikkol ikilisini ise daha çok görmek dileğiyle.

    Linux'ta disk sistemi ile ilgili faydalı komutlar

    04:55 ,
    • df -T : kullanılan dosya sistemlerini, bağlanma (mount) noktalarını ve kullanım yüzdelerini gösterir. Farklı paarametrelerle kullanımı aşağıdaki gibidir.


    -T parametresi kullanılan dosya sisteminin türünü gösterir.


    -i parametresi Inode noktalarını gösterir.


    -hT parametresi ile klasörün ( 3. parametre) bulunduğu dosya sistemi (T) ve daha okunabilir çıktılar (h) üretir. 


    -h : Çıktıları daha okunur olarak ekrana basar.


    -a : Sistemdeki tüm dosya sistemleri için çıktı üretir.



    • fdisk -l : disk bölüm tablosunda düzenleme ve görüntüleme yapmak için kullanılır.



    fdisk'in sanal bir makine de çıktısı:


    fdisk'in gerçek bir makine de çıktısı:


    • du : Her bir dosya ve dizin için disk kullanım miktarı gibi bilgileri recursive olarak verir.

    --time parametresi ile dosyanın son güncelleme tarihi çıktı olarak verir.




    • sfdisk : Bir başka linux partion tablosu düzenleme programıdır.

    • parted : GNU parted programı disk bölümlerini düzenleme için kullanılan programdır.

    • blkid : Sistemde ki blok device'ların özelliklerini ekrana basar.

    • lsblk : Sistemde ki blok device'ları listeler.

    • pydef : Dosya sistemi kullanım miktarlarını daha görsel bir şekilde ekrana basar.