Archive for February, 2007

Ubuntu Kurulum Noktası

Ubuntu GNU\Linux kullanıcıları ardı arkası kesilmeyen mükemmel haberlere alışıkdırlar. Zaten bu güzelliklerden dolayı Ubuntu GNU\Linux kullanımından memnunlar. Hem mis gibi sadece bir bağlantı soketine taktığınız ağ kablonuzdan kurulan Ubuntu’nuz varken neden başka işletim sistemlerine ilgi duyasınız ki? Bu da ubuntunun ağ kablonuzu sokete takar takmaz kurulduğunun resmidir;

Ubuntu On Tap
Hatta bizler de şirketimizde bunu yapalım diyen arkadaşlara aşağıdaki linkleri sunuyorum.

https://help.ubuntu.com/community/Installation/Netboot

https://help.ubuntu.com/community/Installation/QuickNetboot

Bugünlük bu kadar.. Önümüzdeki günlerde sizi şaşırtmaya devam edeceğiz.

kritik güncelleme

jpeg ve png uzantılı resim dosyalarını read/write veya manipule etmek için kullanılan imagemagick programı için “buffer overflow” başlığı altında güncelleme duyuruldu.

[14 Feb 2007]
DSA-1260 imagemagick buffer overflow

Sisteminizi güncellemeyi unutmayın. Detaylı bilgi için

http://www.debian.org/security/2007/dsa-1260

merhaba.asm

GNU\Linux üzerinde assembly makine dili ile yazdığınız kodu derleyebilmek ve çalıştırabilmek için Nasm’ın sisteminizde kurulu olması gerekmektedir. Ubuntu kullanıcıları aşağıdaki komutla gerekli paketi sistemlerine kurabilirler;

$sudo apt-get install nasm

Daha sonra küçük bir asm kodunun nasıl çalıştığına bakalım. Aşağıdaki örneği şu an linkini hatırlayamadığım bir siteden almıştım. Her zaman olduğu gibi ekrana “Merhaba Dunya!” yazdıracağız. Kodumuz aşağıdaki gibidir, kopyalayıp merhaba.asm adlı bir dosyaya paste edip ardından kaydediniz.

section .text
global _start
_start:
mov edx,len
mov ecx,msg
mov ebx,1
mov eax,4
int 0×80

mov ebx,0
mov eax,1
int 0×80

section .data

msg db “Merhaba Dunya!”,0xa
len equ $ - msg

Daha sonra aşağıdaki komut ile nesne dosyamızı oluşturuyoruz.

$nasm -f elf merhaba.asm
Bulunduğunuz dizinde aşağıdaki gibi bir nesne dosyası (.o) oluşacaktır.

root@ozgur:~/Coding# ls
merhaba.asm merhaba.o

Son olarak yapmamız gereken kodumuzun çalışabilir halini üretmektir. Bunun için aşağıdaki komutu kullanıyoruz.

$ld -s -o merhaba merhaba.o

Ve sonuç,

root@ozgur:~/Coding# ls
merhaba merhaba.asm merhaba.o
root@ozgur:~/Coding# ./merhaba
Merhaba Dunya!

Artık gerisi sizin hayal dünyanıza kalmış..

endianness

iki farklı işlemci sınıfının birbiri ile haberleşebilmesi için veri dönüşümü yapması gerekmektedir. önemli byte’ın solda olduğu sıralamaya big endian ismi verilir. önemli byte’ın sağda olduğu sıralamaya ise little endian denilmektedir.

örneğin i386 ve benzer mimarideki işlemciler little endian’dır. Sun sparc ve Java VM ise big endian kullanır.

Aynı şekilde tcp/ip ağ protokolü de big endian kullanmaktadır. Yani bir paket gönderileceği zaman, en önemli byte önce gönderilir ve aynı şekilde alınır.

byte iki şekilde sıralanabilir. en önemli byte’in önde geldiği sıralamaya Network Byte sıralaması denir. Aynı şekilde önemli byte’ın sonra geldiği sıralamaya ise Host Byte sıralaması denir.

Daha fazlasını merak ediyorsanız;

http://www.enderunix.org/docs/socket.html

Mutlaka okunması gereken, başarılı bir çalışma.. Belge yazarına buradan teşekkürlerimi iletiyorum.

No smoking

Saat şu an 00:38 ve son sigaramı da içmiş bulunuyorum. Bu aralar ip katmanı, tcp, udp, socket, port, multicast, unicast ve broadcast ile kafayı bozmuş durumdayım. Sevgili hocam Fırat Küçük bile sorularım karşısında beni sarhoş filan sandı. Halbuki ben içki de kullanmıyorum. Sigaranın zararları saymakla bitmez. Fakat ben sigara kullandığım zamanlarda birşey okuyorsam ve bu okuduğum şeyleri kafamda canlandırmam gerekiyorsa bunu yapamıyordum. Kısaca analitik düşünce de denebilir. Evet, sigara analitik düşünmemi engelliyordu. Ama artık bu amacını benim bedenim üzerinde gerçekleştiremeyecek. Bundan sonra damarlarımda akan nikotin yüklü kan bedenime hükmetmediği sürece sigara kullanmayacağım.

black hole

Çok iyi bir programcı veya yazılım mühendisi değilim. Oturup bir program yazabilir misin deseniz yapamayacağımı söylerim. Bu sözlerimden sonra bugün yaşadığım ve yeni öğrendiğim birşeyi sizlerle paylaşmak istiyorum.

Cisco switch’ler üzerinden geçen kriptolu datayı decrypt edebilecek bir kod yazdım. Daha sonra kodun derlenmesi için gerekli olan “gcrypt.h” kütüphanesini aşağıdaki gibi depolardan indirdim.

$sudo apt-get install libgcrypt11 libgcrypt11-dbg libgcrypt11-dev

Kodu gcc ile derlerken yaptığım bir dalgınlık yazdığım tüm kodun kaybolmasına neden oldu.

root@ozgur:/home/ozgur/Desktop/coding# ls
ciscogcrypt.c
root@ozgur:/home/ozgur/Desktop/coding# gcc ciscogcrypt.c -o ciscogcrypt.c
/tmp/ccsTDxNk.o: In function `c_decrypt’:
root@ozgur:/home/ozgur/Desktop/coding# ls
root@ozgur:/home/ozgur/Desktop/coding#

Demek bu kara delik denen şey hayatın her noktasında varlığını sürdürebiliyor. Artık bu dakikadan sonra yaptığım herşeyin bir yedeğini almak farz oldu. O değil de kod nereye gitti ya…

howto install dbmail

Dbmail’i nasıl kuracağınızı ve mysql, postfix ayarlarını nasıl yapacağınızı adım adım anlatan bir belge hazırladım. Belgeye aşağıdaki adresten ulaşabilirsiniz. Belgede gördüğünüz hataları ve yanlışları bana mail ile iletirseniz sevinirim.

http://www.ozgurkaratas.com/doc/howto_dbmail_install.pdf

SNMP ve Ubuntu’ya kurulumu

Bugün aynı anda iki arkadaşım “ubuntu-server üzerinde snmp servisini nasıl başlatabiliriz” diye sorunca bende weblog’uma da koyayım madem herkes faydalansın dedim.

SNMP’nin açılımı simple network management protocol’dur. Adından da anlaşılabileceği gibi bu protokol, networkunuzu istediğiniz noktadan yönetmenize ve çeşitli istatistiksel bilgileri network üzerinden almanıza imkan verir.
SNMP servisini ubuntu sisteminize kurmak için aşağıdaki adımları takip edin.

1. Depomuzdan paketi çekiyoruz.
ozgur@ozgurkaratas.com:~# sudo apt-get install snmpd

2. Daha sonra her zaman olduğu gibi conf dosyamızın bir yedeğini alalım.
ozgur@ozgurkaratas.com:~# sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf-asil

3. Ayar dosyamızın bulunduğu /etc/snmp dizini aşağıdaki gibi olacaktır.
ozgur@ozgurkaratas.com:/etc/snmp# ls
snmpd.conf snmpd.conf-asil snmptrapd.conf

4. Daha sonra gereken diğer paketleri kuruyoruz.
ozgur@ozgurkaratas.com:/etc/snmp# sudo apt-get install libsnmp-base libsnmp-perl libsnmp9 libsnmp9-dev snmp tkmib

Hepsi bu kadar.. Artık SNMP servisimiz 161 portunu kullanarak çalışacaktır.

ozgur@ozgurkaratas.com:/etc/snmp# netstat -plutn |grep 161
udp 0 0 127.0.0.1:161 0.0.0.0:* 12050/snmpd

Gördüğünüz gibi snmp servisi UDP kullanmaktadır. Bu nedenle paketlerin güvenliği garanti edilmez. Eğer uzaktan snmp üzerinden bilgi alacaksanız /etc/default/snmpd içerisinde 127.0.0.1 olan kısmı sunucunuzun ip adresi ile değişmelisiniz.

Örneğin aşağıda gördüğünüz gibi başka bir makinede yazdığım bir scripti çalıştırarak snmp servisini kurduğum makinenin uptime bilgisini alabiliyorum.

root@gw.ozgurkaratas.com:/home/okaratas/code/tester# ./getsnmp -H sunucu-ip -C public -o system.sysUpTime.0
SNMP OK - Timeticks: (1526) 0:00:15.26 | RFC1213-MIB::sysUpTime.0=Timeticks: (1526) 0:00:15.26

Eğer karmaşık bir ağa sahipseniz ve birden fazla makineden cpu durumu, uptime, process gibi bilgiler almanız gerekiyorsa nagios kullanmanızı öneririm.

http://www.nagios.org

Ya da Cacti ile networkunuz uzerinde snmp servisi çalışan çeşitli sunuculardan ve Cisco switch’lerden bilgi alabilir ve de bu bilgileri MySQL desteği ile kayıt altında tutarak, web interface’dan takip edebilirsiniz.

http://www.cacti.net

kolay gelsin.

Ve karşınızda 2.6.20

Linux 2.6.20 duyuruldu.
http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.20.bz2

nagiosms v1.1

Networkunuzu anlık takip ve analiz edebileceğiniz Nagios projesine port ettiğim nagiosms’in 1.1 sürümünü openusability üzerindeki proje sayfasından download edebilirsiniz.

Nagiosms; networkunuzun durumu ile ilgili mesajları cep telefonunuzdan takip etmenizi sağlayan bir programdır. Kurulum için nagiosms’i indirdikten sonra INSTALL dosyasında belirtilen adımları takip edin. Mesajları cep telefonunuza almak içinse ya uyumlu bir cep telefonunu COM1 portundan nagios çalışan sunucuya bağlamalı ya da online sms hizmeti veren sitelerden sms paketi satın almalısınız. Sonuç olarak nerede olursanız olun, networkunuzu takip edebileceksiniz.

Herhangi bir sorunla karşılaştığınızda veya öneriniz varsa lütfen bana mail atın.
http://openusability.org/projects/nagiosms

« Previous Entries

 
Powered by WordPress and Ad Infinitum