C# Snmp Trap
-
C# ile kendi snmp sınıfımı oluşturdum ve ajan makinada sim ağacındaki bilgilere ulaşabiliyorum.Basit işleri yapabiliyorum şuan fakat benim istediğim daha önce yazdığım bir windows servis var(ajan makinada) ve bunun hakkında bilgileri sunucu makinaya trap şeklinde yollamak istiyorum.Nasıl yapabileceğim hakkında bir bilgisi olan var mı?
-
"sim ağacındaki bilgilere ulaşabiliyorum" o da ne demek ? Google Translate mi ?
-
NoNam3 bunu yazdı:
-----------------------------
"sim ağacındaki bilgilere ulaşabiliyorum" o da ne demek ? Google Translate mi ?
-----------------------------smi olucak onun için özür diliyorum öncelikle bir harf yanlışlığı var evet... onun dışında belki bilgin olur bir yerde görürsün ileride yine böyle bir yorum yapma diye gerekli bilgiler aşağıda...
SNMP Nedir?
Çok büyük ağlarda meydana gelen sorunların tespiti, giderilmesi ve bu ağdaki aygıtların gözetlenmesi gerekir. Bu ihtiyacı karşılamak amacıyla ağ yönetim protokolleri geliştirilmiştir.
SNMP, TCP/IP üzerine geliştirilmiş bir protokoldür; ancak IPX, AppleTalk ve OSI desteği de mevcuttur.
Ağ yönetim merkezi olarak kullanılan makine üzerinde istemci program (management client), denetlenen makineler üzerinde de yönetim merkezinin istemcisinin sorgularına yanıt veren sunucu yazılımlar (management agent) çalışır. İstemci ile sunucu arasındaki iletişim 2 şekilde olabilir: istemci, sunucudan özel bir değişkenin değerini isteyebilir (Örneğin; kaç tane ICMP port erişilemiyor hatası üretildi?) veya sunucu, istemciye önemli bir olayın varlığını haber verir (Örneğin; bir arayüzün devre dışı kalması). Bunlara ek olarak istemci, sunucudaki herhangi bir değişkenin değerini değiştirebilir
(Örneğin; ön tanımlı IP TTL değerini 64 olarak değiştir).
TCP/IP ağ yönetimi 3 kısımdan oluşur:
1. MIB (Management Information Base): Yönetilecek ağ değişkenlerini saklar. Bu değişkenler istemci tarafından değiştirilebildiği gibi üzerinde sorgu da çalıştırılabilir. RFC 1213 ile MIB-II standardı tanımlanmıştır. MIB içeriği donanım üreticileri tarafından oluşturulur ve dünyada tekildir (her donanım üreticisinin SMI ağacındaki yeri farklıdır).
2. SMI (Structure of Management Information): MIB ‘deki değişkenlere referans olan yapılar ve kimliklerden oluşan kümedir. Örneğin; Counter, 0 ‘dan başlayıp 4294967295 ‘e kadar ilerledikten sonra tekrar 0 olan değişkendir. SMI, RFC 1155 ‘te tanımlanmıştır.
3. SNMP: İstemci ile sunucu arasındaki iletişim protokolüdür. RFC 1157 ‘de tanımlanmıştır. İletişimde UDP paketleri ve ön tanımlı olarak 161. port kullanılır.Sunucuların, güvenlik duvarlarının ve yönlendiricilerin (router) işlemsel istatistiklerini tuttukları OID (Object Identifier) ‘ler SNMP standardında belirtilen bilgi ağacında (SMI) belirtildiği şekilde düzenlenmiştir. Bilgi ağacı bir kök düğümünden başlayıp dallara, yapraklara doğru ilerler. Ağaçtaki adres yolu oluşturulurken her düğümden sonra bir nokta yazılır.
-
:) Sağolasın hocam beni düşündüğün için...
Bence bana kalırsa sorunda bir harf yanlışlığı yok, tümden sorun yanlış ve/veya eksik.
Yani beni yanlış anlama üstad, sana nasıl soru sorulacağını falan öğretmiyorum ama yazdığını bir okusan diyorum...
Şimdi öncelikle;
1> Hangi .net sürümünü kullanıyorsun ? hatta compiler ve versiyonun nedir*
2> Linux dist. işletim sistemlerini kapsamasını istiyor musun ? yoksa sadece windows'a özel mi olacak ?
3> Hangi windows o.s.'ler için bunu hazırlıyorsun ? yada misal bu sadece server edition'lara özel mi olacak ?
( hedef win sürümünü bilmeden, nasıl x32 veya x64 Windows API'leri önerebilirim ? )
4> Ajan makina dediğin şeye "Client", sunucu makina dediğin thing'e de "server" demen lazım ki- daha anlaşılır olsun.
Şimdi yazdığın kendince library'i yeni fonksiyonlarla expand edeceksin;
A> bu fonksiyonlar client makinada çalışacak olan bir assembly olacak ? anladığım kadarıyla, bu assembly, bir win service'in status bilgilerini trap şeklinde
server'a gönderecek. Böyle birşey mi anlatmak istedin ? B> Yada bu fonk. win service içinde olacak, o service smi'yi kullanarak bilgileri toplayıp, trap şeklinde server'a gönderecek... ?=?
Uzun uğraşlar sonunda anlayabildiysem, B şıkkı diyorsun :)
1,2,3,4 gibi önceliklerini bilmeden > Öyleyse tekerliği yeniden icad etmemek doğrudur deyip* seni şuraya yönlendiriyorum; http://www.dart.com/psnet.aspx
Şurayada yanlışlıkla göz atmakta fayda var; http://msdn.microsoft.com/en-us/library/aa379207%28v=vs.85%29.aspx
-
Doğru söylüyorsun kardeşim bu standartlar olmalı fakat bu cevap için özellikle bekledim gör diye kimse böyle konuları tınlamıyor artık..Artı konu hakkında bilgisi olup soru sorduktan sonra zaten bu söylediklerin geliyor.Bu söylediğin şartlara uygun, uzun uzun çok soru sorduğum oldu özellikle altında şöyle bir espri olmasın diye ekledim arkasına 5 sayfa o söylediğim espri döndü ve soru cevaplanmadan konu kapandı :)
Neyse ciddiye almış cevap vermişsin teşekkür ederim ve sistem özelliklerimi belirteyim..
- win 7 64 bit ana bilgisayarım.
- trap yollamasını istediğim makina windows server 64 bit.
- .net 3.5 kullanıyorum.(visual studio 2008 sp1)
İkinci paragrafta da A şıkkı doğru tahmin
A> Bir windows service in status unu server makinaya yollayacak trap yazmak istiyorum.
-
Bu sıralar c# ile network programlama bakmam gerekti hocam, bu konularla ilgili dökümantasyon, link paylaşırsan iyi olur.
-
-
