STM32F103C8'e ethernet çipi bağlamak

Başlatan z, 17 Eylül 2016, 18:33:38

z

Fakat eninde sonunda web server yapacağım. O zaman da mı sorun olmayacak?

Modemin arkasına gizlenirsem sorun yokmu yani?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

serdararikan

Mac adresini kullanarak modeminize sadece istediğiniz cihazların bağlanmasını sağlayabilirsiniz

LG-D802 cihazımdan Tapatalk kullanılarak gönderildi


AsHeS

Alıntı yapılan: z - 22 Eylül 2016, 19:00:45
Fakat eninde sonunda web server yapacağım. O zaman da mı sorun olmayacak?

Modemin arkasına gizlenirsem sorun yokmu yani?
Evet aynen öyle

z

#138
ARP paketi yakaladığımı söylemiş ve paketi kendimce açıklamıştım.  Gerbay hala ortalıkta yok.

Açıklamamda hata varmı? Bu konuya açıklık getirebilecek varmı? 

Neden Flagda Length Out of Range hatası alıyorum?

https://www.picproje.org/index.php/topic,65601.msg510471.html#msg510471

----------------------

ARP sorgusuna vereceğim cevap basit görünüyor. Fakat bana gelen paketteki

Gönderen Protokol Adresi:  0xC0A80101      (SPA) Sender Protocol Address
Hedef Donanım Adresi:       0x0000000000  (THA) Target Hardware Address
Hedef Protokol Adresi:        0xC0A80117      (TPA) Target Protocol Address

Prorokol adresleri ne anlama geliyor bilmek istiyorum.

ARP sorgusuna verilecek cevap için https://tr.wikipedia.org/wiki/Adres_Çözümleme_Protokolü

ARP Mesajının İşlenmesi

Bir IP paketi gönderilmeden önce Ethernet ağlarında iki paket daha aktarılır ve paketin gönderileceği düğümün fiziksel adresi bulunur. Bu işlemi aynı varış düğümüne gidecek paketler için tekrar tekrar yapmak anlamsızdır. Bu nedenle bir IP_adresi-Donanım_adresi eşlemesi yapıldığında bu bilgi bir süre ARP cep belleğinde tutulur. Belli bir süre kullanılmamış adresler, bellekte yer sorunu varsa silinir.

Bir ARP mesajı alan düğüm aşağıdaki işlemleri gerçekleştirir
1)Mesajın geldiği düğümün IP adresi ve MAC adresilerinin ARP cep belleğinde olup olmadığının testi yapılır. Varsa eski donanım adresinin yerine, gelen mesajdaki donanım adresi yazılır.
2)Mesajın operasyon bölümüne bakılır.
Bu bölüm istek mesajı ise bir cevap mesajı hazırlanır. Cevap mesajında, gelen mesajdaki gönderen ve varış adreslerinin yerleri değiştirilir. Gönderen donanım adresi bölümüne mesajı hazırlayan bilgisayarın donanım adresi yazılır. Operasyon alanına, 2 değeri verilir.
Bu bölüm cevap mesajı ise daha önce istek gönderilmiş olup gelen bilgiler cep belleğe eklenir.

Yayınlanan tüm ARP mesajlarındaki verilerin ARP cep belleğine konması, cep belleğin kısa sürede dolmasına neden olur. Bu nedenle, bilgisayarlar sadece kendilerini hedef alan ARP mesajları ile ilgilenirler.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

#139
@gerbay hocam çok çok sağolasın.

Alıntı Yapşimdi sen bu paketi aldığında sorulan IP senin IP adresin ise ARP response paketi hazırlayıp göndermelisin.

Broadcast yayın ile sorulan ARP sorgusunu alınca, hedef IP alanına bakıp  aaaaaa bu benim IP o zaman cevap vereyim diyeceğim ama
ben daha yeni Power On oldum. Kendi IP'mi bile bilmiyorum. Bu durumda ARP sorgusuna cevap veremem ki.

Gene kaçırdığım bir şey mi var?

Kendi IP'mi bilmediğim için BU ARP pakete cevap vermeyip bir sonraki pakete mi bakayım?

Fakat en azından bu bilgilerle ARP sorgusunu cevaplayan fonksiyonu yazabilirim.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

#140
Modemde HDHCP sunucuda başlanıç ve Bitiş IP aralığı editlenebilir şekilde.

Ok. Şimdilik kendime statik bir IP seçeyim.  (Asıl hata bende. Web server yapacağıma göre benim IP zaten statik olmak zorunda)

ARP içinde gelen 192.168.1.23 zaten daha önce bahsettiğim ve MAC adresini kullandığım IPOD'a ait IP imiş. Bu bir rastlantı mı?

Yani çipimin MAC adres registerlerine IPOD'un MAC adesini gömmüştüm.

-------------------------------------

Serveri (modemi) peş peşe sorgularla acaip yoran,  diğer cihazların yerine de cevap vermeye kalkan ve networkün canına okuyan kötü niyetli pis bir cihaz
yapmak bayağı kolay gibi hisse kapıldım.

Zira gelen paketleri filitreleme için ENC çip bana  biraz esneklik kazandırıyor.

Neyse işin puştluğuna gitmeye gerek yok. Belkide sandığım kadar kolay değildir.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Terorizm illa silahla yapılacak diye bir şart yok o zaman.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

#142
DDOS hocam senin o dedigin. Devamli sorgulamak veri istemek boylelikle sunucuyu devre disina cikarmak (eger guvenlikle alakali bir sunucuysa sonrasini siz dusunun) icten bile değil. Tabi guvenligi alinmamissa..

z

#143
Neyse terörizm bir kenara.

Bu konuya merak saldığım günden itibaren daha 1 hafta bile geçmedi ve daha önce hiç merak salmadığım internet ve ethernet üzerine  yüzeysel de olsa çok şey öğrendim.

Şu anda ENC28J60 çipimle de kanka oldum.

C ile uğraşıp led yak söndür projelerinin ötesine geçmek isteyen arkadaşlara şiddetle bu projeyi öneriyorum.

ENC28J60 driver kısmını yazamıyorsanız boşverin kütüphane kullanın.

Driver üzerine yazacağınız kodlar için kütüphane falan kullanmayı bırakın C  ile bizzat siz kod yazarak gelen paketleri yakalayın ve paketlere cevap hazırlayıp  yollayan kodları yazın.

Çok tatlı bir proje. Pratik yapmak için ne yapayım diye falan hiç arayışa girmeyin.

Bundan güzel pratik yapma projesi olmaz. C bilginizi de acaip ilerletirsiniz.

Abartmadan söylüyorum picproje sitesinde bu güne kadar uğraştığım en zevkli proje bu oldu.

Keşke TCP/IP Stack kodu yazıpta ne yapacan al hazırını kullan diyenlerin bu sözleri hiç kulağımda yer etmeseymiş.

Hatta bundan böyle aralarında uzak mesafe olan iki işlemcim arasında veri transferi yaparken ENJ28J60 çipini kullanmayı bile düşünmeye başladım.
Kendime kendi kurallarını koyduğum basit bir katman yazarım.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

crazy

Hocam Stm32 yi tarayıcı üzerinden mi Delphi programı ile mi haberlestiriyorsunuz.İki taraflı veri gönderimi olacakmı..

Cemre.

Alıntı yapılan: gerbay - 23 Eylül 2016, 13:11:39
hocam hayırdır ASM dememişsin.. kırmızı hap yaramaya başlamış..

ben dedim network stack yazmaya uğraşmayın, alın lwip yi kullanın diye.. halen de aynı şeyi söylüyorum...

hocam sen daha bir şey görmedin network ve ethernet ile ilgili.. bu yaptıklarında kayda değer bir şey yok henüz..

şu an elektronik devrende seri port ihtiyacın olduğunda ne yapıyorsun hocam? TTL entegrelerle shift register lar ile UART devresi mi tasarlıyorsun yoksa MCU nun içindeki hazır UART donanımını mı kullanıyorsun..

olay bunun gibi.. eğer TTL entegreler ile UART devresi yapıp bağlıyorsan network stack de yaz.. yok eğer MCU nun içindeki hazır UART ı kullanıyorsan network stack için de lwip yi kullan geç..

zaten ASM ile web server a kadar ilerleyemezsin hocam.. C ye geçmen gerekir.. gerçi web server dan ne kast edildiğine de bağlı bir durum bu..



hocam bir beyin fırtınası yapalım, senaryo şu;

server ı boğuyorduk ya... neden kendi MAC adresimiz ile yapalım ki bunu.. diyelim ki internet de bazı yerlerin IP ve MAC adreslerini topladık (ki bu çok kolay). bir liste oluşturduk, kendi MAC ve IP adresi alanlarımıza sırası ile o listedeki bize ait olmayan bilgileri doldurup doldurup hedef server ı bombardıman ediyoruz..

bu durumda bombardıman eden nasıl bulunur?  var mı bir öneriniz?

Hocam konu başladığı günden beri sıkı bir takipçisiyim, @z hocama da elimden geldiğince destek olmaya çalıştım çünkü basit de olsa komplex de olsa ortaya bir döküman-rehber çıkacağını düşünüyordum. Siz lwIP dediğiniz zaman da ST'nin Cube paketlerindeki lwIP örneklerini incelemeye başladım. Etherneti olan olmayan işlemcilerde ne gibi farklılıklar olacak bunları anlamaya çalıştım. Şimdi elimdeki işleri bitirip yavaştan ben de bu ethernet işine girmek istiyorum. ESP ile yaşadığım hüsranı (esp-01 ilk sürümünü almıştım ve çok sorunluydu) ve hiç bir şey öğrenememiş olmamı da bu konuyla ve ENC ile kırmayı hedefliyorum.

lwIP de bana çok karmaşık geliyordu, hala daha öyle, ama iyi gidiyorsunuz. Lütfen devam edin. Teşekkürler.

muhittin_kaplan

Zombi pc lerden bahis mi hocam ? Ama zombiyi kim kullaniyor bu bilgimle bulamam.

yamak

Alıntı yapılan: gerbay - 23 Eylül 2016, 13:11:39
server ı boğuyorduk ya... neden kendi MAC adresimiz ile yapalım ki bunu.. diyelim ki internet de bazı yerlerin IP ve MAC adreslerini topladık (ki bu çok kolay). bir liste oluşturduk, kendi MAC ve IP adresi alanlarımıza sırası ile o listedeki bize ait olmayan bilgileri doldurup doldurup hedef server ı bombardıman ediyoruz..

bu durumda bombardıman eden nasıl bulunur?  var mı bir öneriniz?
Hocam mac adresi gizlenirse bi problem olmaz ama IP sahte bir ip ile değiştirilirse etki alanımız çok daralır.Çünkü TCP protokollerinden hiç birini kullanamayız three way handshake den dolayı.Yani IP yi gizleyerek saldırma ancak bi yerel ağda olabilir kanımca.Yanılıyor da olabilirim hocam.Yerel ağda da şu şekilde tespit edilebilir:
Ağ trafiğini izleriz hangi client a SYN paketleri gitmiyosa saldırıyı yapan muhtemelen odur.

muhittin_kaplan

Konu Dagılacak Ama,
@gerbay hocam  okumuş ama anlamamışım, siz toplanmış mac ve ip lerin değişiminden bahsediyormussunuz ? yine bulamazdım :)

muhittin_kaplan