Exselans Posted September 7, 2011 Share Posted September 7, 2011 Merhaba Arkadaşlar, Ağımda 15 tane Bilgisayar ipcop linux bilgisayara bağlı.Ağdaki Bilgisayarlarda bazen internet sayfası açmıyor.Sorun ipcop cihaz ile iletişim sıkıntısı çekmeleri.internete girmeyen(İnternet Sayfası Açmayan) cihazdan ipcop cihazın ip adresine ping attığımz zaman cihaz internete hemen giriyor ve 15-20dk sonra yine aynı sorunu yaşıyorum. Sizden ricam.Bilgisayarda servislerinde otomatik olarak çalışacak ve belirlediğim ip adresine 5-10 dk ara ile ping gönderecek.böyle bir bat veya script dosyasını kullanıcı mudehale etmemesi için görünmemesi lazım.yardımlarınız için şimdiden teşekkür ederim. Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 7, 2011 Share Posted September 7, 2011 @Exselans Ilgili ağdaki bilgisayarlar windows işletim sistemi mi kullanıyor? Bu bilgisayarlarda ki yüklü işletim sistemi nedir? Ağındaki bilgisayarlar sabit ip atamıştısın. ipcop linux pcnin ip adresi nedir? Biraz daha detaylı bilgi verirsen ve kullanmış olduğun sistem windows ise senin için ufak bir şey yapabilrim.. Quote Link to comment Share on other sites More sharing options...
Exselans Posted September 7, 2011 Author Share Posted September 7, 2011 Ağdaki Arkadaşlar windows xp sp3 kullanıyorlar. İpcop cihazımın ip adres:192.168.1.1 İç ağdaki xp cihazlarımında ip adreslerini sabitledim. 192.168.1.2 den 192.168.1.13 e kadar ip verdim. yani iç ağdaki cihazlarım ip adresleri:192.168.1.x Alt Ağ Maskesi:255.255.255.0 Ağ Geçidi : 192.168.1.1 Dns :192.168.1.1 İlginiz için Çok teşkkür ederim. Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 7, 2011 Share Posted September 7, 2011 @Exselans Kusura bakma biraz geç yanıt veriyorum. Bazı halletmem gerek işler vardı. Senin için ufak bir şey yaptım. [color="#0000FF"][u][b]http://bluelife.zxq.net/BluePing_Create.zip[/b][/u][/color] Programı çalıştır ve arayüzden ip adresini ve dakika bilgisini düzelt. Daha sonra Servisi Kur tuşuna tıklat. Program kısaca bir servis yaratıyor ve bu servis system32 ye kopyalanan BluePing.exe adlı küçük programu çalıştırıyor. Bu program senin kurulum yaparken belirlediğin, ip numarasına bellirlediğin zaman aralıklarıyla ping atıyor. Program yanında oluşan blueping.txt dosyasına yaptıklarını log halinde yazıyor. Yani ping işlemi başarısız olur ise bu dosyada yazar. Servis olarak kurduğumuz için ilgili program her sistem açılışında otomatik başlayacaktır. Ama servis ilgili programı başlattıktan sonra kapanıyor. Yani görev yöneticisinden ilgili programı kapatmamalısınız. Unutmadan , kurulumdan sorna yapılan değişiklikleri geri almak için, ilgili verdiğim programı çalıştırıp servisi kaldır tuşuna basman yeterli! Quote Link to comment Share on other sites More sharing options...
Mehmet Posted September 7, 2011 Share Posted September 7, 2011 blue_life kaynak kodunu verebilirmisin Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 7, 2011 Share Posted September 7, 2011 (edited) [img]http://i.imgur.com/qRFiX.png[/img] @MeHMeTBeN Paket ike programdan oluşuyor. Birisi normal çalışıp kurulum yaptığım BluePing_Create.exe Diğeri ise BluePing_Create.exe nin içinde olan BluePing.exe Kurulum yapılınca BluePing.exe sisteme kopyalanıyor. Yani normal olarak çalışan program bu. BluePing.exe nin kodlarını verebilirim. Lakin BluePing_Create.exe nin kodlarını veremiyorum. Nedeni ise, bir arkadaşla farklı bir projede kullandığımız kodları barındırması Bu konuda beni mazur gör BluePing.exe nin kodları; [codebox]#NoTrayIcon #RequireAdmin #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=package_settings.ico #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_Res_Comment=http://www.autoitscript.com/autoit3/ #AutoIt3Wrapper_Res_Description=BlueLife Ping Service #AutoIt3Wrapper_Res_Fileversion=1.0.0.0 #AutoIt3Wrapper_Res_LegalCopyright=Created by BlueLife ©2011 #AutoIt3Wrapper_Res_Field=Compile Date|%date% %time% #AutoIt3Wrapper_Res_Field=AutoIt|%AutoItVer% #AutoIt3Wrapper_Res_Field=File Name|BluePing.exe #AutoIt3Wrapper_Run_Tidy=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** Global $SystemDir = @SystemDir If StringRight($SystemDir, 1) <> "\" Then $SystemDir &= "\" If StringLeft(@AutoItExe, StringLen($SystemDir)) <> $SystemDir Then Exit If $CMDLINE[0] = 0 Then Run(@AutoItExe & " " & "/BlueLife " & @AutoItPID) Exit 1 ElseIf $CMDLINE[1] <> "/BlueLife" Or $CMDLINE[0] <> 2 Then MsgBox(64, $CMDLINE[2], $CMDLINE[1]) Exit 1 EndIf While ProcessClose($CMDLINE[2]) Sleep(100) WEnd _ProcessCheck() Local $BLUE_TITLE = "BlueLife Ping Service" Local $BLUE_REG_KEY = "HKLM\SYSTEM\CurrentControlSet\Services\!BluePing" Local $BLUE_SLEEP = Number(RegRead($BLUE_REG_KEY, "Sleep")) If $BLUE_SLEEP < 1 Then $BLUE_SLEEP = 1 Local $BLUE_IP = RegRead($BLUE_REG_KEY, "IP") If _BLUE_IP_CHECK($BLUE_IP) = False Then MsgBox(16, $BLUE_TITLE, "Registryden okunan ip adresi hatalı! Işlem sonlandırıldı..." & @CRLF & @CRLF & "Registry anahtarı;" & @CRLF & $BLUE_REG_KEY & "\IP") Exit 1 EndIf Local $Dakika = 60 * 1000 Local $Ping Local $BluePing_Txt = $SystemDir & "BluePing.txt" If FileExists($BluePing_Txt) = 1 Then FileDelete($BluePing_Txt) ProcessSetPriority(@AutoItExe, 1) DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1) While 1 $Ping = Ping($BLUE_IP) If @error Then FileWrite($BluePing_Txt, "Ping -> " & $BLUE_IP & " -> Sorun oluştu! " & @CRLF & "Bekle -> " & $BLUE_SLEEP & " dakika" & @CRLF) Else FileWrite($BluePing_Txt, "Ping -> " & $BLUE_IP & " -> " & $Ping & @CRLF & "Bekle -> " & $BLUE_SLEEP & " dakika" & @CRLF) EndIf Sleep($BLUE_SLEEP * $Dakika) WEnd Func _BLUE_IP_CHECK($IP_CHECK) Local $Value = StringSplit($IP_CHECK, ".") If $Value[0] = 4 And StringIsDigit($Value[1]) And StringIsDigit($Value[2]) And StringIsDigit($Value[3]) And StringIsDigit($Value[4]) Then If $Value[1] >= 0 And $Value[1] <= 255 Then If $Value[2] >= 0 And $Value[2] <= 255 Then If $Value[3] >= 0 And $Value[3] <= 255 Then If $Value[4] >= 0 And $Value[4] <= 255 Then Return True EndIf EndIf EndIf EndIf EndIf Return False EndFunc ;==>_BLUE_IP_CHECK Func _ProcessGetLocation($iPID); Programın çalıştığı dizin Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If $aProc[0] = 0 Then Return SetError(1, 0, '') Local $vStruct = DllStructCreate('int[1024]') DllCall('psapi.dll', 'int', 'EnumProcessModules', 'hwnd', $aProc[0], 'ptr', DllStructGetPtr($vStruct), 'int', DllStructGetSize($vStruct), 'int_ptr', 0) Local $aReturn = DllCall('psapi.dll', 'int', 'GetModuleFileNameEx', 'hwnd', $aProc[0], 'int', DllStructGetData($vStruct, 1), 'str', '', 'int', 2048) If StringLen($aReturn[3]) = 0 Then Return SetError(2, 0, '') Return $aReturn[3] EndFunc ;==>_ProcessGetLocation Func _ProcessCheck() Local $Plist If @Compiled Then $Plist = ProcessList(@ScriptName) For $i = 1 To $Plist[0][0] If $Plist[$i][1] <> @AutoItPID Then If FileGetLongName(_ProcessGetLocation($Plist[$i][1])) = FileGetLongName(@AutoItExe) Then Exit EndIf EndIf Next EndIf EndFunc ;==>_ProcessCheck[/codebox] Edited September 7, 2011 by blue_life Quote Link to comment Share on other sites More sharing options...
Exselans Posted September 7, 2011 Author Share Posted September 7, 2011 Mehmet Kardeş Program için çok teşekkür ederim,çok makbule geçti.Çalışması güzel ping atabiliyor fakat zaman ile ilgili sıkıntı var.Sanırsam zaman aralığı dk olarak hesaplanıyor? ben 15 dk da bir ping atması için zaman aralığına 15 yazdım fakat program 1 dakikada bir atıyor pingleri.10 Dk aldım acaba saniye olarak mı hesaplıyor diye 200-300 yazdım fakat nafile System32 deki blueping log dosyasınıda kontrol ettiğimde Ping -> 192.168.1.3 -> 1 milisaniye Bekle -> 1 dakika Olarak hep işlem devam ediyor. İlgilenirsen çok sevinirim kardeş. Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 8, 2011 Share Posted September 8, 2011 @Exselans Kurura bakma, kodlama hatası! Programı ilgili linkten tekrar indirip denermisin? Bu arada benim adım Erhan... Quote Link to comment Share on other sites More sharing options...
Exselans Posted September 8, 2011 Author Share Posted September 8, 2011 Çok teşekkür ederim Erhan kardeş bug düzelmiş.Ellerine sağlık çok güzel bir iş başardın,sayende büyük yükten kurtuldum.Herşey için çok teşekkür ederim.Çalışmalarında başarılar dilerim. Quote Link to comment Share on other sites More sharing options...
blue_life Posted September 8, 2011 Share Posted September 8, 2011 @Exselans Rica ederim. Lakin 15 dk bekleme aralığı çok fazla. 1 -5 dk aralıklarla ping atmanın sisteme/ağa fazla bir yükü olmaz. Bu süreyi kısaltmanı tavsiye ederim... Quote Link to comment Share on other sites More sharing options...
Exselans Posted September 8, 2011 Author Share Posted September 8, 2011 tamam kardeş zamanı kısaltım.tavsiyen için çok teşekkür ederim.sayende networkum rahata kavuştu:) Hayırlı Geceler.. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.