Şimdi Ara

Biri bilgisayarıma girdi (+Caps)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
26
Cevap
0
Favori
6.136
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Olayın seyri :
    Yaklaşık 1 saat önce tam ekran film seyrederken aniden görev çubuğunda NOD32'yi gördüm, bi baktım ki uyarı veriyor. "C:\Document and Settings\All users\Belgeler\Mehtap\mehtap.pif" dosyasında bişeler bulmuş silmiş!!!

    Acaba ben film seyrederken kurduğum programlardan biri internetten virüs falan mı indiriyo diye düşünürken o dizinin paylaşıma açık olduğunu farkettim.
     Biri bilgisayarıma girdi (+Caps)


    Kullandığım adsl modem'e iki bilgisyar bağlı, biri benim diğeri komşunun. Ben ilk önce komşu sandım ama ip numarasına bakınca o olmadığı anlaşıldı çünkü sonuçta ikimizin de ip numarası dışarıdan aynı olmalı. Yani ikimiz de modem ve NAT arkasında olduğumuz için local'de iplerimiz 192.168.7.? falan. Ama dışarıdan aynı.

    Peki NAT arkasında olduğum halde bu adam nasıl olmuş da girmiş bilgisayarıma. Ben aylardır NAT arkasındaki bir bilgisayara nasıl ulaşuılabileceğinin yolunu ve programını arayıp bulamazken be adam nasıl girmiş bilgisayarıma?????????????



    < Bu mesaj bu kişi tarafından değiştirildi algorian -- 3 Mart 2006; 1:34:42 >







  • Natla ne alakası varki olayın adam eğer senin ipni bulmuşsa internete açıldığın onun yoluyla senin bilgisayarına bağlanabilir nat sadece senin local ipni public ipye çevirir çok yüksek bi güvenlik sağlamaz değilmi yanlışmı düşünüyorum
  • Hızlı yanıt için teşekkürler ama nat bir güvenlik aracı değil ki.
    Şu anda iki bilgisayar da dışarıdan aynı ip numarasına sahip görülüyor. Demek istediğim adam beni nasıl ayırt edebilmiş. Normalde dışarıdan biri benim şu anki ip numaram olan 85.98.64.15 numaraına ping atarsa aslında modeme ping atmış olur. Yani bu ip benim ya da komşunun değil, modemin ip numarası.
  • işte bende onu sölemek istedim aslında ancak şöle düşünelim senin modeme ulaştıktan eminim onun meslek hilelerinden birini kullanark senin ipni çözümlemiş olabilir hacker olmadığım için bilemicem ama bildiğim tek şey senin mac adresini örenip bu işi yaptıkları
  • Benim mac adresi bilemez, bu durumda onu ancak modem bilir.
  • Sen øyle san.
    quote:

    Orjinalden alıntı: algorian

    Benim mac adresi bilemez, bu durumda onu ancak modem bilir.
  • quote:

    Orjinalden alıntı: BRADER

    Sen øyle san.
    quote:

    Orjinalden alıntı: algorian

    Benim mac adresi bilemez, bu durumda onu ancak modem bilir.



    bencede
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Ya adam nasıl beni bulmuş onu söyler misiniz?
    Mac adresine göre arama yapacak değil ya.
    Ben internete 85.98.64.15 numaralı ip üzerinden çıkıyorum, adam bu ip ile ilgili ne yaparsa yapsın sonuçta modemle uğraşmış olarak! Bu ip numarasının arkasında kaç tane bilgisayar olduğunu ve bunların mac adresinin ne olduğunu nerden bilecek?

    Ben helen benim ağımda olmayan birinin (kullandığım modeme bağlı olmayan) MAC adresimi bilemeyeceğini iddia ediyorum. Madem bulabiliyorsunuz buyrun! Ip adresimi yazdım, MAC adresim 0013 ile başlıyor. Modemin Mac adresi ise 0030 ile başlıyor. Mac adresimi bulabilecek babayiğit varsa bekliyorum.
  • quote:

    Orjinalden alıntı: algorian

    Ya adam nasıl beni bulmuş onu söyler misiniz?
    Mac adresine göre arama yapacak değil ya.
    Ben internete 85.98.64.15 numaralı ip üzerinden çıkıyorum, adam bu ip ile ilgili ne yaparsa yapsın sonuçta modemle uğraşmış olarak! Bu ip numarasının arkasında kaç tane bilgisayar olduğunu ve bunların mac adresinin ne olduğunu nerden bilecek?

    Ben helen benim ağımda olmayan birinin (kullandığım modeme bağlı olmayan) MAC adresimi bilemeyeceğini iddia ediyorum. Madem bulabiliyorsunuz buyrun! Ip adresimi yazdım, MAC adresim 0013 ile başlıyor. Modemin Mac adresi ise 0030 ile başlıyor. Mac adresimi bulabilecek babayiğit varsa bekliyorum.

    telnet portun açık.. ordan bişi oluyor olabilir mi acaba?
  • Söylediklerinde gayet haklısın öyle atıp tutan çok ama sadece ip bilmekle bişeyler yapılması çok zor bence senin pc deki bir trojan internete erişerek, nat üzerinden pc ne yönlenmiş.
    netstat çektiğinde ne alıyorsun orda görünüyormu bişeyler.

    quote:

    Orjinalden alıntı: algorian

    Olayın seyri :
    Yaklaşık 1 saat önce tam ekran film seyrederken aniden görev çubuğunda NOD32'yi gördüm, bi baktım ki uyarı veriyor. "C:\Document and Settings\All users\Belgeler\Mehtap\mehtap.pif" dosyasında bişeler bulmuş silmiş!!!

    Acaba ben film seyrederken kurduğum programlardan biri internetten virüs falan mı indiriyo diye düşünürken o dizinin paylaşıma açık olduğunu farkettim.
     Biri bilgisayarıma girdi (+Caps)


    Kullandığım adsl modem'e iki bilgisyar bağlı, biri benim diğeri komşunun. Ben ilk önce komşu sandım ama ip numarasına bakınca o olmadığı anlaşıldı çünkü sonuçta ikimizin de ip numarası dışarıdan aynı olmalı. Yani ikimiz de modem ve NAT arkasında olduğumuz için local'de iplerimiz 192.168.7.? falan. Ama dışarıdan aynı.

    Peki NAT arkasında olduğum halde bu adam nasıl olmuş da girmiş bilgisayarıma. Ben aylardır NAT arkasındaki bir bilgisayara nasıl ulaşuılabileceğinin yolunu ve programını arayıp bulamazken be adam nasıl girmiş bilgisayarıma?????????????





  • bazı programlar haberin olmadan güncelleme yapabiliyor windowsun kendisi yada antivirus programlar veya bedava dağıtılan yada satın alınan programalar. Bu durumda demekki bilgisayarın ile internet dünyası haşır neşir. Bilgisayarınızdaki her programın bir açığı olabilir. Bunu kullanarak bilgisayarınıza sızılabilir. En basit bir örnek winrar dan bile sisteminize sızmak mümkün. Artık hackerler programların açığına kitlenmiş durumdalar.
  • "C:\Document and Settings\All users\Belgeler\Mehtap\mehtap.pif"
    adlandırılan dosya trojan.
    Trojanın özelliği zaten bilgisayarını yönlendirmek.
    Trojan kendi isteğiyle karşıdaki PC ile rahatlıkla irtibat kuruyor.
    Durum böyle olduktan sonra NAT önemli değil.
    Çünkü herşeyi senin bilgisayarın ayarlıyor.
  • nasıl oldu da diğer bilgisayarı değilde senin bilgisayarını buldugunu merak ediyorsan
    fazla ayrıntıya girmeden cevabı mantık yürütürsen çok basit:
    senin bilgisayarın diğer bilgisayara göre daha güvenliksiz durumda
    ayrıca yukarıda bahsedildiği gibi .pif uzantılı dosya trojan ya da türevi virütik bir şey
    zamanında brazil.pif ve mario.scr lerden çok çekmiştim
  • Cevaplar için çok teşekkürler.

    Dikkat ederseniz bi ekran görüntüsü koydum. O ekran görüntüsünde trojanın ne zaman yakalandığı ve temizlendiği yazıyor, aynı zamanda bilgisayar yönetim konsolundan bilgisayarıma bağlı olan kullanıcının kaç dakikadır bağlı olduğunu da görebiliyorum.

    H&G&D& isimli 85.99... ip numaralı makina 10 dakikadır bağlı, ve trojan son 10 dakika içinde gelmiş. Bunu bir program yapmış olamaz çünkü bu kadar da büyük rastlantı olmaz. Ayrıca ben kurduğum programların aynısını işyerindeki makinaya da kurmuştum ve bu programları aylardır deniyorum, hepsi de bilindik programlar. Zaten NOD32 yükledim yükleyeli bilgisyarım virüs, trojan veya benzeri bir sebepten zarar görmedi.

    Konu güvenlik değil, çünkü dizini paylaşıma açık unutan benim!

    Size bir sorum olacak, bu soruyu cevaplamaya çalışmanın anlatmak istediklerimi size anlatacaktır :
    Internet kafede bir bilgisayarın herhangi bir dizinini paylaşıma açtınız. Sonra evdeki bilgisyarınızdan o bilgisayar'a girip paylaşılan dizine gireceksiniz.

    Bu mümkün mü?




  • dostum öncelikle busana ders olmuş..bence güzelde olmuş her kim girdiyse....sen başkasının makinesine girmeyi düşünür plan yaparsan bu olur normaldir bence ..biri benim makineme girse izinsiz ona lanet okurum ve en kısa zamandsa çarpğılmasını isterim..onedenle zihniyetini temiz tutmayanlar için ...ayrıca ben 10 yıldır falan kullanırım bilgisayar ve yaklaşık 5 yıldır kesintisiz net kullanırım ama okadar abuk sabuk sayfalarada girsem kimsenin girip çıktığını görmedim.....okadar önemli belgelerim olsada ....o yüzden hacker denilen kişilerin mantığı belli onlar para ve güç gösteri isi için yaparlar bu işleri ve sanmıyorumkş sıradan birinin bilgisayarına giripte kendilerini yorsunlar...senin makineye giren senden birazdağa zeki biri belliiii:)
  • quote:

    Orjinalden alıntı: by EDIcool

    dostum öncelikle busana ders olmuş..bence güzelde olmuş her kim girdiyse....sen başkasının makinesine girmeyi düşünür plan yaparsan bu olur normaldir bence ..biri benim makineme girse izinsiz ona lanet okurum ve en kısa zamandsa çarpğılmasını isterim..onedenle zihniyetini temiz tutmayanlar için ...ayrıca ben 10 yıldır falan kullanırım bilgisayar ve yaklaşık 5 yıldır kesintisiz net kullanırım ama okadar abuk sabuk sayfalarada girsem kimsenin girip çıktığını görmedim.....okadar önemli belgelerim olsada ....o yüzden hacker denilen kişilerin mantığı belli onlar para ve güç gösteri isi için yaparlar bu işleri ve sanmıyorumkş sıradan birinin bilgisayarına giripte kendilerini yorsunlar...senin makineye giren senden birazdağa zeki biri belliiii:)


    Benim başlasının makinasına girmeye çalıştığımı nerden çıkardın?
    Ben işyerindeki bilgisayarıma ulaşmak için böyle bir programdan bahsetmiştim.

    Lütfen dikkatli oku!!




  • İmkansız bir şey yoktur ... Bulduğum bu makaleyi okursan böyle bir şansın olduğunu anlarsın...

    IP Adresinden MAC adresine ulaşmak : C# ve Process'ler

    Bu yazımızda girdiğimiz IP adresine sahip makinenin MAC adresini, nbtstat komutu yardımıyla elde eden bir C# konsol uygulamasını nasıl yazacağımızı göreceğiz.

    Giriş

    Öncelikle gerekli genel tanımları vererek başlayalım.

    IP adresi nedir?

    IP adresi, ağ üzerindeki makineleri tanımlamak için kullanılan 32 bit uzunluğunda bir adrestir. Internet'e bağlı olan her makinanın kendine ait bir IP adresi vardır. Bu adres Internet üzerinde makinelerin birbirlerini tanımalarını ve iletişim kurmalarını sağlar. IP adresleri birbirlerinden noktayla ayrılmış 8 bit uzunluğundaki, her biri 0-255 arasında değişen 4 değişik rakam grubundan oluşur ve bu gruplardan her birine Yunanca'da sekizli anlamına gelen "oktet" adı verilir.

    Örnek: 209.67.50.203

    MAC Adresi nedir?

    Açılımı Media Access Control Adress olan 48 bit uzunluğundaki (12 hex dijitle temsil edilen) bu adres her ağ kartının ROM'una üretim aşamasında yazılmıştır ve (son dönemlerde bu işi yapmak üzere özel tasarlanmış programların yardımı hariç) değiştirilemez. Ağ kartı üreticisi firmalar, önce IEEE (Institue of Electrical and Electronics Engineers -http://www.ieee.org ) isimli kuruma başvurur ve 24 bit uzunluğunda (6 hex dijit) bir üretici kodu alır. (Örneğin 0004AC IBM'e, 000142 de Cisco'ya aittir.) Kalan 24 bit (6 hex dijit) ise arabirim seri numarasını temsil eder. Ağ kartları bir diğer ağ kartına veri yollarken alıcıyı diğerlerinden ayırmak için bu MAC adresini kullanır.

    Örnek: 00-01-42-AA-BB-CC

    Process nedir?

    Process, işletim sisteminde çalışmış,çalışan veya çalışacak olan bir işlem olarak tanımlanabilir. Çalıştırdığımız her bir uygulama bir process'dir ve öncelik sırası, çalışma süresi vb. gibi niteliklere göre işletim sistemi tarafından çalıştırılır, düzenlenir ve denetlenir.

    nbtstat nedir?

    Bir komut olan Nbtstat mevcut TCP/IP bağlantılarını ve protokol istatistiklerini NBT (Net Bios Over TCP/IP) kullanarak gösterir. (Net Bios, IBM ve Sytek tarafından istemci bilgisayarların ağdaki kaynaklara erişimini sağlamak için geliştirdikleri bir API'dir ve Net Bios kullanarak hacking genelde hackerlar için uzaktan yapılan saldırıların en kolay yoludur.)

    Kullanımı ise " NBTSTAT [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-s] [S] [interval] ] " şeklindedir.

    Bizi bu yazıda -A parametresi ilgilendirmektedir. -A yani Adapter Status, IP adresi verilen karşı bilgisayarın isim tablosunu ekrana getirir.

     Biri bilgisayarıma girdi (+Caps)


    Örnekte de görüldüğü gibi ipsi verilen bilgisayarın MAC adresi bu komut ve parametreleri ile elde edilebilmektedir.

    Bizde yazacağımız uygulamada yeni bir process olarak nbtstat komutunu çağırarak MAC adresini elde edip ekrana yansıtacağız.

    Örnek uygulama

    Kodlamaya geçmeden önce kullanacağımız, yabancı gelebilecek bazı sınıfları inceleyelim.

    System.Diagnostics isim alanı, Process ve ProcessStartInfo sınıfları

    .NET Framework içerisindeki System isim alanlarından birisi olan System.Diagnostics isim alanı, işlemler (process),

    olay günlüğü (event log), ve performans sayıcılarla (performance counters) etkileşim sağlayan sınıfları barındırır.

    Bizde process'lerle ilgileneceğimizden bu isim alanınına ait sınıfları kullanacağız.

    Kullanacağımız sınıflar bu alandaki Process ve ProcessStartInfo sınıflarıdır.Bunlardan Process sınıfı tüm process'lere

    erişimi (listeleme vb. gibi işlemler), yerel sistem process'lerini başlatmayı ve bitirmeyi; ProcessStartInfo sınıfı ise bir

    process'i başlatırken gerekecek olan değerleri girmeyi (örneğin parametreler) ve gerekli ayarları yapmayı sağlar.

    Bu şekilde process üzerinde daha etkin çalışabiliriz.

    (Bu isim alanı aynı zamanda Trace ve Debug gibi, kodumuzun çalışmasını denetlememizi sağlayan ve debug

    işlemlerini yöneten iki önemli sınıf içermektedir. Fakat konumuzla ilgili olmadığı için bu sınıfları şu anda incelemeyeceğiz.

    System.Diagnostics isim alanı hakkında daha detaylı bilgi için

    http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDiagnostics.asp adresini ziyaret edebilirsiniz.)

    Gerekli sınıfları da inceledikten sonra artık kodlamaya geçebiliriz.

    ip2mac isimli bir C# konsol uygulaması açarak aşağıdaki kodu projemize
    using System;

    using System.Diagnostics; // Process ve ProcessStartInfo class'larini barindiran namespace

    namespace ip2mac

    { class MACAdresi

    {

    public static string MacBul(string IP) //Parametre olarak IP adresini alıp MAC adresini dondurur

    { string MAC = "";

    try

    { ProcessStartInfo psInfo = new ProcessStartInfo();

    Process ps = new Process();

    psInfo.FileName = "nbtstat"; // process'imizin dosya adı

    psInfo.Arguments = "-A " + IP; // ve parametreleri

    psInfo.RedirectStandardInput = false; // Girdinin Process sınıfının StandartInput elemanından alınmamasını sağlar

    psInfo.RedirectStandardOutput = true; // Çıktının Process sınıfının StandartOutput elemanına yazılmasını sağlar

    psInfo.UseShellExecute = false; // Process başlatılırken işletim sistemi kabuğunun kullanılmayacağını belirler



    ps = Process.Start(psInfo); // girdigimiz başlangıç bilgilerine gore process baslatılır.



    string tmpStr = "";

    int num1 = -1;

    while (num1 <= -1)

    {

    num1 = tmpStr.Trim().ToLower().IndexOf("mac address", 0);

    if (num1 > -1)

    {

    break;

    }

    tmpStr = ps.StandardOutput.ReadLine(); // Yönlendirilen process çıktısı satır satır ele alınır

    }



    ps.WaitForExit(); // process'in sonlanması beklenir



    MAC = tmpStr.Trim(); // Çıktının istenilen kısmı döndürülecek değişkene atanır

    }



    catch (Exception ex)

    {

    Console.WriteLine(ex.Message); // yakalanan istisnai durumun mesajı ekrana yansıtılır

    }



    return MAC;

    }



    [STAThread]

    static void Main(string[] args)

    {

    try

    {

    string ip = args[0]; // komut satirinda girilecek ilk parametre ip adresidir

    string mac = MacBul(ip);



    Console.WriteLine("\n");

    Console.WriteLine(mac);

    Console.WriteLine("\nCikis icin ENTER'a basiniz...");

    }

    catch (Exception

    ex)

    {

    Console.WriteLine(ex.Message); // yakalanan istisnai durumun mesajı ekrana yansıtılır

    }

    Console.ReadLine();

    }

    }

    }


    Aşağıda programımızın ekran görüntüsü görünmektedir:

     Biri bilgisayarıma girdi (+Caps)


    Son olarak

    Bu yazımızda öncelikle IP ve MAC adreslerinin, process'lerin ne olduklarından, nbtstat komutunun

    ne işe yaradığından ve nasıl kullanıldığından bahsettik. Daha sonra girdiğimiz IP adresine sahip makinenin

    MAC adresini, nbtstat komutunu bir process olarak çalıştırarak elde eden bir C# konsol uygulamasını nasıl

    yazacağımızı gördük. Yazdığımız uygulama birkaç bilgisayarda test edilmiş başarılı sonuçlar alınmıştır.

    Öncelikle benim yaptığım gibi, programı kendi ip adresleriniz uzerinde test etmenizi tavsiye ederim.



    < Bu mesaj bu kişi tarafından değiştirildi ..:FoRcE:.. -- 8 Mart 2006; 23:14:10 >




  • Bunu bende yaşadım hatta pc me girip keyloger bile atmıslardı bütün şifrelerim gitmişdii güvenliq için
    zone alarm kurun bişe olmaz yoqsa ben kaç kez yaşadım bu durumu zone alarm izin vermiyo böyle şeyleri
    bu durumlar için ii bir program olduğunu düşünüyorum
  • arkadaslar bende norton var daha basima böyle bir olay geldigini hatirlamyorum am gelsede sorun degil sanki bilgisayarimda devlet sirrimi var
  • quote:

    Orjinalden alıntı: ..:FoRcE:..

    İmkansız bir şey yoktur ... Bulduğum bu makaleyi okursan böyle bir şansın olduğunu anlarsın...

    IP Adresinden MAC adresine ulaşmak : C# ve Process'ler

    Bu yazımızda girdiğimiz IP adresine sahip makinenin MAC adresini, nbtstat komutu yardımıyla elde eden bir C# konsol uygulamasını nasıl yazacağımızı göreceğiz.

    Giriş

    Öncelikle gerekli genel tanımları vererek başlayalım.

    IP adresi nedir?

    IP adresi, ağ üzerindeki makineleri tanımlamak için kullanılan 32 bit uzunluğunda bir adrestir. Internet'e bağlı olan her makinanın kendine ait bir IP adresi vardır. Bu adres Internet üzerinde makinelerin birbirlerini tanımalarını ve iletişim kurmalarını sağlar. IP adresleri birbirlerinden noktayla ayrılmış 8 bit uzunluğundaki, her biri 0-255 arasında değişen 4 değişik rakam grubundan oluşur ve bu gruplardan her birine Yunanca'da sekizli anlamına gelen "oktet" adı verilir.

    Örnek: 209.67.50.203

    MAC Adresi nedir?

    Açılımı Media Access Control Adress olan 48 bit uzunluğundaki (12 hex dijitle temsil edilen) bu adres her ağ kartının ROM'una üretim aşamasında yazılmıştır ve (son dönemlerde bu işi yapmak üzere özel tasarlanmış programların yardımı hariç) değiştirilemez. Ağ kartı üreticisi firmalar, önce IEEE (Institue of Electrical and Electronics Engineers -http://www.ieee.org ) isimli kuruma başvurur ve 24 bit uzunluğunda (6 hex dijit) bir üretici kodu alır. (Örneğin 0004AC IBM'e, 000142 de Cisco'ya aittir.) Kalan 24 bit (6 hex dijit) ise arabirim seri numarasını temsil eder. Ağ kartları bir diğer ağ kartına veri yollarken alıcıyı diğerlerinden ayırmak için bu MAC adresini kullanır.

    Örnek: 00-01-42-AA-BB-CC

    Process nedir?

    Process, işletim sisteminde çalışmış,çalışan veya çalışacak olan bir işlem olarak tanımlanabilir. Çalıştırdığımız her bir uygulama bir process'dir ve öncelik sırası, çalışma süresi vb. gibi niteliklere göre işletim sistemi tarafından çalıştırılır, düzenlenir ve denetlenir.

    nbtstat nedir?

    Bir komut olan Nbtstat mevcut TCP/IP bağlantılarını ve protokol istatistiklerini NBT (Net Bios Over TCP/IP) kullanarak gösterir. (Net Bios, IBM ve Sytek tarafından istemci bilgisayarların ağdaki kaynaklara erişimini sağlamak için geliştirdikleri bir API'dir ve Net Bios kullanarak hacking genelde hackerlar için uzaktan yapılan saldırıların en kolay yoludur.)

    Kullanımı ise " NBTSTAT [-a RemoteName] [-A IP address] [-c] [-n] [-r] [-R] [-s] [S] [interval] ] " şeklindedir.

    Bizi bu yazıda -A parametresi ilgilendirmektedir. -A yani Adapter Status, IP adresi verilen karşı bilgisayarın isim tablosunu ekrana getirir.

     Biri bilgisayarıma girdi (+Caps)


    Örnekte de görüldüğü gibi ipsi verilen bilgisayarın MAC adresi bu komut ve parametreleri ile elde edilebilmektedir.

    Bizde yazacağımız uygulamada yeni bir process olarak nbtstat komutunu çağırarak MAC adresini elde edip ekrana yansıtacağız.

    Örnek uygulama

    Kodlamaya geçmeden önce kullanacağımız, yabancı gelebilecek bazı sınıfları inceleyelim.

    System.Diagnostics isim alanı, Process ve ProcessStartInfo sınıfları

    .NET Framework içerisindeki System isim alanlarından birisi olan System.Diagnostics isim alanı, işlemler (process),

    olay günlüğü (event log), ve performans sayıcılarla (performance counters) etkileşim sağlayan sınıfları barındırır.

    Bizde process'lerle ilgileneceğimizden bu isim alanınına ait sınıfları kullanacağız.

    Kullanacağımız sınıflar bu alandaki Process ve ProcessStartInfo sınıflarıdır.Bunlardan Process sınıfı tüm process'lere

    erişimi (listeleme vb. gibi işlemler), yerel sistem process'lerini başlatmayı ve bitirmeyi; ProcessStartInfo sınıfı ise bir

    process'i başlatırken gerekecek olan değerleri girmeyi (örneğin parametreler) ve gerekli ayarları yapmayı sağlar.

    Bu şekilde process üzerinde daha etkin çalışabiliriz.

    (Bu isim alanı aynı zamanda Trace ve Debug gibi, kodumuzun çalışmasını denetlememizi sağlayan ve debug

    işlemlerini yöneten iki önemli sınıf içermektedir. Fakat konumuzla ilgili olmadığı için bu sınıfları şu anda incelemeyeceğiz.

    System.Diagnostics isim alanı hakkında daha detaylı bilgi için

    http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemDiagnostics.asp adresini ziyaret edebilirsiniz.)

    Gerekli sınıfları da inceledikten sonra artık kodlamaya geçebiliriz.

    ip2mac isimli bir C# konsol uygulaması açarak aşağıdaki kodu projemize
    using System;

    using System.Diagnostics; // Process ve ProcessStartInfo class'larini barindiran namespace

    namespace ip2mac

    { class MACAdresi

    {

    public static string MacBul(string IP) //Parametre olarak IP adresini alıp MAC adresini dondurur

    { string MAC = "";

    try

    { ProcessStartInfo psInfo = new ProcessStartInfo();

    Process ps = new Process();

    psInfo.FileName = "nbtstat"; // process'imizin dosya adı

    psInfo.Arguments = "-A " + IP; // ve parametreleri

    psInfo.RedirectStandardInput = false; // Girdinin Process sınıfının StandartInput elemanından alınmamasını sağlar

    psInfo.RedirectStandardOutput = true; // Çıktının Process sınıfının StandartOutput elemanına yazılmasını sağlar

    psInfo.UseShellExecute = false; // Process başlatılırken işletim sistemi kabuğunun kullanılmayacağını belirler



    ps = Process.Start(psInfo); // girdigimiz başlangıç bilgilerine gore process baslatılır.



    string tmpStr = "";

    int num1 = -1;

    while (num1 <= -1)

    {

    num1 = tmpStr.Trim().ToLower().IndexOf("mac address", 0);

    if (num1 > -1)

    {

    break;

    }

    tmpStr = ps.StandardOutput.ReadLine(); // Yönlendirilen process çıktısı satır satır ele alınır

    }



    ps.WaitForExit(); // process'in sonlanması beklenir



    MAC = tmpStr.Trim(); // Çıktının istenilen kısmı döndürülecek değişkene atanır

    }



    catch (Exception ex)

    {

    Console.WriteLine(ex.Message); // yakalanan istisnai durumun mesajı ekrana yansıtılır

    }



    return MAC;

    }



    [STAThread]

    static void Main(string[] args)

    {

    try

    {

    string ip = args[0]; // komut satirinda girilecek ilk parametre ip adresidir

    string mac = MacBul(ip);



    Console.WriteLine("\n");

    Console.WriteLine(mac);

    Console.WriteLine("\nCikis icin ENTER'a basiniz...");

    }

    catch (Exception

    ex)

    {

    Console.WriteLine(ex.Message); // yakalanan istisnai durumun mesajı ekrana yansıtılır

    }

    Console.ReadLine();

    }

    }

    }


    Aşağıda programımızın ekran görüntüsü görünmektedir:

     Biri bilgisayarıma girdi (+Caps)


    Son olarak

    Bu yazımızda öncelikle IP ve MAC adreslerinin, process'lerin ne olduklarından, nbtstat komutunun

    ne işe yaradığından ve nasıl kullanıldığından bahsettik. Daha sonra girdiğimiz IP adresine sahip makinenin

    MAC adresini, nbtstat komutunu bir process olarak çalıştırarak elde eden bir C# konsol uygulamasını nasıl

    yazacağımızı gördük. Yazdığımız uygulama birkaç bilgisayarda test edilmiş başarılı sonuçlar alınmıştır.

    Öncelikle benim yaptığım gibi, programı kendi ip adresleriniz uzerinde test etmenizi tavsiye ederim.




    Çok güzel yazmışsın, zahmet etmişsin, teşekkürler!
    AMAAA benim iddiam ip numarası bilinen bir bilgisayarın MAC adresini bulmak değil!
    Ben NAT veya firewall arkasında bulunan bir bilgisayarın MAC adresinin bilinemeyeceğini iddia ediyorum !!!

    Mesela 4 portlu adsl modeminiz var. Bilgisayarınız 10.1.1.2 veya 192.168.0.2 gibi bir ip numarası alır. Oysa whatismyip.com sitesine girdiğinizde ip numaranız 85.98.?.? gibi bir numaradır !!!!
    NEDEN? Çünkü 10 veya 192 ile başlayan numara sizin local ip numaranızdır. Bu ip ile modemle haberleşirsiniz. 85 ile başlayan ip numarasına gelince : bu da modemin internette aldığı ip numarasıdır! Yani modem internette 85 ile başlayan bir ip numarası alır ama sizinle haberleşirken yine 10 veya 192 ile başlayan bi ip kullanır.

    Şimdi söylemek istediğim şey şu : modem arkasında kaç bilgisyar var? bunların MAC adresi nedir? Bunları bulabilecek bir program YOK! Zaten olamaz da. Peki nasıl oluyor da adam dışarıdan benim paylaşıma açık bilgisayarıma giriyor, 85 ile başlayan ip numarası benim değil, modemin numarası. modeme 4 tane bilgisayar bağlı olsa o ip numarasını yazınca 4 bilgisyara birden bağlanacak değil ya!

    Bu arada bu konuda bilen bilmeyen herkes bişeler yazmış, herkese teşekkürler ama yine iddia ediyorum, çok portlu bir modem arkasındaki bir makinaya MAC adresi ile erişilemez, bırak erişebilmeyi, MAC adresi bilinemez bile!

    Bi internet cafeye gidip bi dizini paylaşıma açın, sonra da internet cafe dışından bir bilgisyar ile o dizine girmeye çalışın bakalım olacak mı




  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.