ether.h kullanan var mı?

Başlatan sem, 17 Nisan 2010 - 12:36:16

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

sem

Merhabalar cümleten... Arkadaşlar ether.h ı kullananan ve neye ilişkin olduğunu bilen var mı? Benim yazdığım programda aldığım numara programı her açtığımda değişiyor... MAC adresinin değişmesi normal mi? Normalse MAC adresi nedir o zaman?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

localhost

Linux LPIC1 - MCSA

sem

#2
Gönderdiğin linke bakmıştım zaten... Emin olmak için... Orda yazdığına göre de değişmemesi gerekiyor MAC adresinin... include içinde bulunan(tam yolunu hatırlamıyorum,  teknik hatalardan dolayı ubuntuya geçemediğim için de söyleyemiyorum...)  MAC adresini okuma fonksiyonlarının çıktısına bakarsan, ben programı her değiştirdiğimde MAC adresi değişiyor... Belki bahsi geç MAC başka bir MAC olabilir diye MAC nedir dedim. Teşekkürler ilgine... include içinde bulunan örneğin, ether.h başlık dosyası ile ilgili olarak detaylı bilgi edinebileceğim yerler var mı? Öyle bir yer varsa, ordan okuduğum vakit daha iyi anlarım sanırım...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

ether.h ile ilgili bir bilgim yok ancak bazı yollarla MAC adresinin geçici olarak değiştirilmesi zaten mümkün. Bir ihtimal o yollardan birine denk gelmiş olmayasın?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sem

     50 kere seri çalıştırırsam hepsinde de faklı çıkıyordu heartsmagic, sanmıyorum öyle bir durum olduğunu... İngilizce açıklaması falan vardı, tek hatırladığım fonksiyonun, MAC adresini noktalı formatta tutan yapıyı char* türünden(karakter dizisi gibi düşünebilirsiniz) bir yapıya aktarmasıydı. Linux'u yüklediğim an (bu anda sanıyorum 10.04'ün yayınladığı ana tekabül ediyor) bütün fonksiyonlarını talan etmeden anlaşılmayacak sanırım durum...  O şekilde fonksiyonları yazıp gönderebilirsem, çıktıdan daha rahat bir sonuca ulaşılacak sanırım...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

Evet o şekilde daha güzel olur. Bizler de bire bir görmüş oluruz.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sem

Uzun süre denemek için zamanım olmadı...Anca deneme fırsatı buldum...  Kod çok geçerli değil fazla basit oldu, fakat çok enteresan şekilde bu sefer hiç değişmiyor MAC adresi... Daha önceden nasıl bir eksik ya da yanlış bir şeyler yaptıysam durmadan değişiyordu... Şimdi ise verilen numaranın neyin MAC adresi olduğunu çözemedim... Araştırdım biraz,

ifconfig | grep HWaddr
Alıntı Yapeth0      Link encap:Ethernet  HWaddr 00:13:8f:34:8f:73

Yukardaki komuta, yukardaki gibi çıktı alıyorum...

Router'den bakınca, kullandığım bilgisayarın MAC adresi de:
Alıntı Yap00:13:8f:34:8f:73

Bunlar ethernet kartının MAC adresi oluyormuş ve ikisi birbirini teyit eder nitelikte gerçekten... netinet/ether.h başlık dosyasındaki fonksiyonlara bakarak yazdığım kod:

#include <stdio.h>
#include <netinet/ether.h>


int main()
{
   struct ether_addr *sem;
   char * line;
   char * hostname;

   ether_line(line,sem,hostname);
   fprintf(stdout,"line:%s\nhostname:%s\n",line,hostname);
}


Bu kodlardan aldığım çıktı ise:

5f:5f:6c:69:62:63

Bu neyin MAC adresi olabilir, bu konu hakkında bilgisi olan varsa, paylaşırsa sevinirim...



".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sem

Belki olabilir, ne şekilde kontrol edeceğimi bilemedim...

Modemin ayarlarından baktığım şöyle bir şey var (modemin ayarından kastım 192.168... olarak girdiğimiz yer);

ADSL MAC Adresi     00:1C:A8:51:6B:E3

Diyor, sanıyorum ki modemin ki bu, Kaç tane parça MAC adresine sahip ki? Hepsini listeleyebileceğim bir komut mevcut mudur acaba?

Debian'ın forumundan komple GNU C kütüphanesini indirdim, arattım tarattım bulamadım, ether.h değil hep in.h çıktı karşıma, ether.h üvey evlat muamalesi görmüş =) Ya da ben bulamadım...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

Bir ağ kartının, bir kablosuz ağ kartının bir de modemin olsa gerek.
Fakat asıl sorun nedir bilemiyorum. Ayrıca bende senin kod parçalama hatası veriyor, bakınamadım bile :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sem

Eh bana ya, yanlış kodu göndermişim... Bunu şimdi yaptım... İlk denememde de uykusuz yapmıştım... Enteresandır ki şu anda yine durmadan değişen bir adres çıktısı alıyorum... Uykusuzken bir şeyleri mi kaçırıyorum gözden anlamadım ki... Sadece tek hanesi değişiyor, sondan bir önceki hane her denememde değişiyor...
#include <stdio.h>
#include <netinet/ether.h>


int main()
{
   struct ether_addr *sem;
   char * line;
   char * hostname;
   char *MAC_ADRESI;

   ether_line(line,sem,hostname);
   MAC_ADRESI = ether_ntoa(sem);
   puts(MAC_ADRESI);
}

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

Az biraz baktım da şurada da bir kod paylaşılmış ama ether.h ile değil:
http://www.linuxquestions.org/questions/programming-9/getting-mac-address-from-ethernet-packet-in-c-434241/

Faka bende parçalama arızası veriyor.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sem

Harbiden bu kod kafayı yedirtir adama... Ben gönderdiğimde çalışıyordu şimdi bende de çalışmıyor... Başka bilgisayrdan deniyorum ama şu anda... İki bilgisayarda da deneyip çalıştırıp tekrar yazarım buraya... Parçalanma hatası dediğin nedir heartsmagic? İlginç karakterler mi gözüküyor ekranda?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

eribol

Alıntı YapParçalanma hatası dediğin nedir heartsmagic? İlginç karakterler mi gözüküyor ekranda?
Segmentation fault.

sem

Sağ ol @eriibol... Yanılmıyorsam belleğin ayrılmayan kısmına ulaşmaya çalışınca verilen hatalardandı bu... Düzelttiğim an tekrar göndereceğim...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

sem

Tekradan yazman için deneme amaçlı olarak en son gönderdiğim kodu çalıştırdım çalışıyor... Çıktısı;
7c:5d:15:0:58:28
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:48
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:a8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:98
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:e8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:98
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:18
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:b8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:58
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:d8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:f8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:e8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:b8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:38
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:78
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:d8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:a8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:28
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:a8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:28
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:58
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:88
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:58
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:d8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:f8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:8
sem0900@desktop:~/Desktop/programlarım$ ./deneme
7c:5d:15:0:58:98
sem0900@desktop:~/Desktop/programlarım$

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

Bende yine segfault veriyor. Acaba yüklü bir şeyler mi arıyor?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.