Burada anlatılanlar benim küçük/büyük sorunlarımı çözerken izlediğim adımlardır. İlerde bu bilgilere kendim her yerden erişeyim diye, veya benzer sorunları yaşayan başkaları da erişebilsin diye burada biriktiriyorum. Bu adımları uygulamak, hata yapmamak ve doğabilecek herhangi bir hasar sizin kendi sorumluluğunuzdadır. Yazar(lar) veya yazılardaki bağlantıların sahipleri hiçbir şekilde oluşabilecek hata/hasarlardan dolayı sorumlu tutulamazlar.
3.12.2014
Lityum iyon bataryalar ve şarj edilmeleri
29.10.2014
Ubuntu'da tam ekran olmayan videolarım
Şu adresteki gibi uzmanlara hayranım. Hem devilspie gibi bir paketi bileceksin, hem soruna göre uyarlayacaksın, hem de bunu askubuntu'da paylaşacaksın.
Neyse, çözüme geçelim. Bunun sebebi Firefox'un plugin-container prosesinin gıcıklık yapmasından kaynaklanıyormuş. Önerilen çözüm, devilspie gibi istenen pencerenin istenen şekil, konum ve boyutta başlamasını sağlayan bir araç ile her başladığında fokus almasını sağlamakmış. Buna göre önce devilspie'ı yüklememiz gerekiyor.
sudo apt-get install devilspieArdından kullanıcı profilinin altında bir klasör oluşturarak bu klasörün içinde bir ds dosyası yaratmak.
mkdir ~/.devilspie
cd ~/.devilspie
nano flash-fullscreen-firefox.ds
Son komuttan sonra boş içerikle nano açılacak. Nano'nun içine şunları yazmak gerek:
(ifBundan sonra plugin-container prosesinin sonlandırmak ve tekrar video izleme girişiminde bulunmak gerekiyor.
(is (application_name) "plugin-container")
(begin
(focus)
)
)
Devilspie'ın her oturum açışta başlamasını sağlamak içinse gnome-session-properties'e yeni bir giriş yapmak gerek. (alt+f2'ye gnome-session-properties yazıp /usr/bin/devilspie'ı ekleyebiliriz)
Mutluluk!
21.10.2014
Google Chrome 64 bit
Emektar Firefox'u, son zamanlarda yaptığı birkaç hatadan ötürü kısa bir süreliğine dinlenmeye aldım. Ama Chrome o kadar cazip ki bir türlü geri dönemiyorum Firefox'a. Bu arada Firefox da hala resmi kararlı 64 bit sürümüne sahip değil. Waterfox projesi güzel ama güncellemeler eş zamanlı gelmiyor. Mozilla Vakfı'nın uzantıların uyumlu olmaması sebebiyle 64 bitlik sürüm yayınlayamadıklarına dair mazereti de Waterfox tarafından çürütüldü bu arada. Waterfox'ta benim denediğim uzantıların tümü sorunsuz çalışıyor.
Neyse, konu dağıldı yine. İnternette doğrudan 64 bitlik sürümü indirmek için bir bağlantı bulamıyordum, şimdi buldum paylaşıyorum.
Goolge Chrome Hakkında menüsünü kullanarak (chrome://help) 64 bit kullanıp kullanmadığınızı anlayabilirsiniz [1].
[1] http://superuser.com/questions/803748/how-can-i-tell-if-i-have-google-chrome-64-bit-installed
1.10.2014
vsepflt'nin sebep olduğu BSoD durumları
fltmc unload vsepflt
HKLM\SYSTEM\CurrentControlSet\Services\vsepflt
28.09.2014
pstools araçlarıyla ilgili sorun
psservice \\bilgisayar-adi start RemoteRegistryWindows 8 ile birlikte bu hizmet, Trigger Start olarak geliyor. Bu da, gerektiği durumlarda çalışabiliyor olması demek. Ama daha önceki Windows sürümlerinde manuel'di. Yani elle müdahale ile çalıştırılabiliyordu.
Trigger start ile biraz uğraştım. Örneğin Windows 8'de remoteregistry hizmetinin tetikleme koşulu şöyle:
C:\>sc qtriggerinfo remoteregistry
[SC] QueryServiceConfig2 SUCCESS
SERVICE_NAME: remoteregistry
START SERVICE
NETWORK EVENT : 1f81d131-3fac-4537-9e0c-7e7b0c2f4b55 [NAMED PIPE EVENT]
DATA : winreg
Amacım bu tetiklemeyi Windows 7 bilgisayarlara da uygulamaktı. Burada 1f81d131-3fac-4537-9e0c-7e7b0c2f4b55 ile geçen bir UUID (universally unique identifier) çoğu durumda bir ETW logunun UUID'si oluyordu. Windows 8 ve Windows 7 bilgisayarlarda mevcut ETW'lerin UUID'lerini inceledim, ama eşleşme bulamadım.
C:\>logman query providers | find /i "1ce20aba-9851-4421-9430-1ddeb766e809"
Şu adreste denmiş ki, remoteregistry hizmeti için tetikleme bağlantısını kaldırmak için şu komut yeterli:
sc triggerinfo "remoteregistry" delete
Eğer istenirse bu tetikleme tekrar şu komutla devreye alınabilir:
sc triggerinfo remoteregistry start/namedpipe/1f81d131-3fac-4537-9e0c-7e7b0c2f4b55
Çok güzel, peki bu komutu Windows 7'de çalıştırabiliyor muyuz? Tabi ki hayır. O UUID her neyse, Windows 7'de hiçbir şeye tekabül etmiyor.
21.09.2014
Google Şeffaflık Raporu
Ülke | Talep sayısı |
---|---|
ABD | 438 |
Brezilya | 237 |
Türkiye | 184 |
Almanya | 96 |
Birleşik Krallık | 46 |
17.09.2014
Truecrypt öldü mü? BitLocker kaldı mı?
Truecrypt, açık kaynak kodlu bir şifreleme yazılımıydı. Pek çok insan tarafından güveniliyordu. Sonradan öğrendim ki geliştiriciler anonim kalarak isimlerini ifşa etmek istememişler. Ama son zamanlardaki devletler seviyesindeki güvenlik soruşturmalarının ucu taa Truecrypt'e kadar dayanmış. Gelişitiriciler de bir sebepten projeyi sonlandırmak zorunda bırakılmış. Bu senaryolardan birisi.
Başka bir senaryoya göre web sitesi hacklendi, proje sonlandırıldı, haklarına el konuldu. Buradaki hacklenme işi öyle beyaz şapka/siyah şapka falan değil, bizzat devletin yumruğu! Bu sebeple geliştiricilerin ABD sınırları içinde faaliyet gösterme şansı kalmamış olabilir.
Truecrypt, hiç bir denetleme ve güvenlik incelemesinden geçmemiş bir araçmış. Ama buna karşılık BitLocker, çeşitli denetlemelerden geçmiş. Yanlış anlaşılmasın; bu BitLocker'ın daha güvenli olduğu anlamına gelmiyor. Uzun hikaye, merak eden biraz okusun.
Nihayet Softpedia sitesinde orijinal geliştiricilerin yeni bir adreste projeyi tekrar hayata geçirecekleri müjdesi verilmiş. Lakin #IsTruecryptAuditedYet ht'de çokça dile getirildiği gibi bir çok kişinin aklına o üstte yazan "Truecrypt güvenli değil" mesajı kalmış olabilir. Eski güveni tekrar kazanmak zaman alır mı?
Yeni proje ile güvenler tekrar kazanılıncaya kadar sourceforge'un sayfasına yönlendirilen sayfadaki yazılımı yüklemememiz öneriliyor. Projenin hiçbir zaman yayınlanmamış 7.2 sürümüne ait dosyada sadece şifrelenmiş birimleri açmak için bileşenler var ve yeni şifrelenmiş birimler oluşturmak mümkün değil. Bunun tamamen kötü niyetli bir yazılım olması ihtimali de var.
Kendini İsviçre'nin güvenli kollarına bırakan orijinal projenin web sayfasında ise eski güzel 7.1a sürüm indirilebiliyor.
[1] https://gigaom.com/2014/05/29/heres-what-you-need-to-know-about-the-sudden-and-mysterious-death-of-truecrypt/
[2] http://bradkovach.com/2014/05/the-death-of-truecrypt-a-symptom-of-a-greater-problem/
[3] http://istruecryptauditedyet.com/
[4] http://www.infosecurity-magazine.com/news/sudden-death-of-free-encryption/
[5] http://www.reddit.com/r/sysadmin/comments/26pxol/truecrypt_is_dead/
[6] http://heathermeeker.squarespace.com/news/2014/7/11/truecrypt-lives-again.html
16.09.2014
Nokia bu saatten sonra ne diye Android telefon üretir?
Nokia gibi büyük bir aktörün sahneden çekilmesinin kimlerin işine geleceğini düşünmek lazım. Google, Samsung ve hatta Microsoft için çok faydalı olduğu kesin. Android'in rekabet edeceği rakip sayısı bir azaldı. Samsung, Nokia'dan boşalan pazarındaki boşluğu seve seve doldurdu. Microsoft da emrine amade kelepir bir telefon üreticisi satın almış oldu.
Nokia'nın Microsoft'a satılmasının ardından bir yıl geçti. Artık Nokia markasının kullanılmaması, Windows Phone adındaki "Phone" kelimesinin düşmesinden, sadece Windows'un kalmasından bahsediliyor. Bu arada da Nokia, Microsoft'a satılmışken Android'li X serisi telefonları pazara sürüyor.
Bununla ilgili olası komplo teorilerini aradım, ama kayda değer bir şeye ulaşamadım. Her yerde, Android'li Nokia'ların piyasaya sürülmesinin arkasında çeşitli sebeplerden bahsedilmiş [1], [2]. Microsoft'un Android dünyasına arka kapıdan girerek Windows Phone estetiğini enjekte etmesinden ve Microsoft servislerinin yaygınlaştırma amacından bahsedilmiş. Eğer Microsoft bunu yapmasaydı başkası yapardı denmiş. Yapsaydı ne olurdu, bilemedim. Bu gibi düşünceler bana fazla iyimser geliyor. Microsoft, yıllardır rekabet halinde olduğu linux çekirdeğini apaçık kullanan bir ürün piyasaya sürecek! Duy da inanma.
Ben farklı bir şeyler olduğunu düşünüyorum. Şu yazımda da bahsettiğim gibi, ABD gizli servisi, tüm dünyanın elektronik haberleşmesini dinlediğini yalanlamamış, bunları vatandaşlarının aleyhine değil, ABD firmalarının lehine kullandığını itiraf etmişti.
Şimdi elimizde bu bilgi varken, Google ile Microsoft'un gizli bir ittifak yapıp Nokia'yı devirmiş olması çok uçuk bir senaryo gibi gelmiyor bana. Ama aralarında ne gibi bir anlaşma olduysa Google, Microsoft'u kendine borçlu bırakıp, Android'li bir telefon üretmek zorunda bırakmış olabilir. Microsoft da "Tamam, üretirim. Ama Android'i kendi tarzımda özelleştiririm" deyip hiç Android'e benzemeyen, daha çok Windows Phone estetiğine yakın, Google servislerini minimal olarak kullanan, daha çok OneDrive gibi Microsoft servislerini kullanan bir ürün çıkarmış olabilir.
Eğer Microsoft gerçekten söylendiği gibi Android dünyasına Windows Phone estetiği enjekte etme amacıyla çalıyorsa Nokia X serisinden sonra en az bir seri daha Android'li cihaz üretir ve beni daha da şaşırtır. Ya da Snowden veya başka birinin itiraflarında bu tip bilgileri görürüz. Biraz beklemek lazım.
[1] http://www.fastcodesign.com/3026824/why-in-the-world-is-microsoft-owned-nokia-releasing-an-android-phone#4
[2] http://www.bbc.com/news/technology-27992439
11.09.2014
Outlook'ta yavaşlama ve takılmalar
İşe Process Monitor ile başladım. Oulook 2010'u başlatmadan hemen önce başlattığım capture'ı, pencere tümüyle işlevsel olana kadar sürdürdüm. Toplamda 5 dakikaya yayılan 660.000 olay yakaladı. Bunları bir süzgeç (filter) kullanmadan yakaladığım için, içinde antivirüs yazılımının olayları da var, hiç ilgisi olmayan Windows hizmetlerinin registry erişimleri de. Ama süzgeç kullanınca muhtemel bir bilgiyi gözden kaçırma ihtimali olduğu için böyle kullanmayı tercih ettim.
Yakalanan onca olayı çeşitli süzgeçlerden geçirdim. Önce sadece Outlook.exe'nin yarattıklarını inceledim. Bir çok şüphelim oldu. ost dosyasını mı tarasam, yoksa antivirüs yazılımını mı geçici olarak kapatsam diye düşünürken şüphelilerin bir kısmını eledim. Windows Event Log'da da bulduğum hataların doğrudan olaylarla bir ilişkisi çıkmadı.
Nihayetinde Google'da yaptığım bir aramada, yine Mark Russinovich'in blogunda bahsettiği Process Monitor'de varsayılan olarak gösterilmeyen duration (işlem süresi) alanını göstermeye başlayınca olay çözüldü.
2 saniyeden daha uzun süren işlemleri süzdüm.
Aslında bu süzgeç ile daha fazla olay görüntülenmişti ama ben sonradan olayı netleştirmek için Outlook.exe tarafından üretilen olayları süzdüm. Sonuçta aşağıdaki gibi bir görüntü çıktı ki Outlook nedense pst dosyasını sürekli yeniden yaratmaya çalışıyor ve bu işlemlerin en kısası 12 saniye falan sürüyor.
Orada gözüken pst dosyası ile ilgili bir sorun olduğu belli. Erişimlerin tümünün başarılı olmasına da dikkat! Aslında bir sorun durumunda ilk yaptığım şey SUCCESS yazan olayları ihmal etmek olurdu.
Neyse, pst dosyasını geçici olarak kaldırdığımda Outlook hiç bir takılma olmadan gayet başarılı bir şekilde çalışıyordu. Zaten bu pst dosyası da eski e-postaların arşiviydi ve taa eski zamanlardan kalma, Outlook'un 2002 sürümünde yaratılan UNICODE desteği olmayan bir dosyaydı. Scanpst ile tarayınca hatalar çıktı, hatalar düzeltildi, ama fayda etmedi. Bu sebeple Outlook 2010'da yeni bir pst dosyası yaratıldı, son bir çaba ile eski öğeler yeni pst dosyasına taşındı ve bu pst dosyasının Outlook ile ilişkisi kesildi. Outlook artık yine ilk günlerindeki gibi sorunsuz çalışıyor.
Ne demişler, alet işler el övünür. Keşke bir fırsatını bulabilsem de şu Mark Russinovich'e bir teşekkür edebilsem :)
9.09.2014
Google ile vedalaşmak isterseniz
İşte Google hizmetlerinde biriken verilerin arşivinin oluşturulabileceği sayfa:
https://www.google.com/settings/takeout
Şu adreste de durum ayrıntılı anlatılmış. Aslında benzer hizmetler sunan Yandex veya Bing tarafında bu verileri yedekleme şansımız da olsaydı fena olmazdı hani. Disaster Recovery'de son nokta!
22.07.2014
Windows Debugging with WinDbg
Elbetteki bu durumun tekrarlamamasını sağlamamız gerekir. Bu amaçla arka planda neyin olup bittiğini incelemek için kullanabileceğimiz bir araç var: WinDbg.
Öncelikle nasıl indirilebilir, onu yazalım. Microsoft, her Windows sürümü için bir SDK kiti yayınlıyor. Performans araçlarından hata bulmaya kadar birçok aracı içeren bu kit, Google'da "Windows SDK" aramasıyla bulunabilir. Ben Windows 8.1 için aradığım için "Windows SDK 8.1" araması yaparak şu sayfaya ulaştım.
Burada aşağıda görülen "Install and download" bağlantısını tıklayarak installer'ını indirebiliriz. Bu da aslında installer for installer. Yanı kurulumu yapacak dosyaları indirecek kurulum dosyası. Çalıştırdığımızda bir sürü seçenek arasından hangilerini istediğimiz sorulacak. Windbg için sadece Debugging tools for Windows'u seçmemiz yeterli. Bu aşamada internetten 600 MB'a kadar veri indirilebilir. Bundan sonra indirilen dosyaların arasından Debugging Tools'a ait olan kurulum dosyaları çift tıklanarak kurulmalı. Bu adımlar tamamlandığında Windbg kurulmuş ve başlat ekranında/menüsünde bir kısayol yaratılmış olur.
Andrew Richards'ın Channel9'daki sunumunda bazı özel ve güzel ayrıntılar verilmiş. Örneğin dmp gibi dosyalarla WinDbg'yi ilişkilendirmek için
windbg -IA
kullanılabilir. Bunun sonucunda HKEY_CLASSES_ROOT altında WinDbg.DumpFile.1 adında yeni bir anahtar yaratılır. Bu anahtar, sunumda da belirtildiği şekilde aynı makinede hem x86 hem de x64 programların debug edilebilmesi için özelleştirilebilir.
Bir de post mortem debugger olarak ayarlama konusu var. Bunun için de
windbg -I
komutu hem x86 hem de x64 sürümler için kullanılmalı.
Mavi ekran oluştuğunda Windows, bir bellek dökümü oluşturur. Bu bellek dökümü %SystemRoot%\MEMORY.DMP dosyasında ya da %SystemRoot%\minidump klasöründe bulunur. İşte WinDbg, bu bellek dökümü dosyalarını açarak en son mavi ekran anında neler olduğunu incelememizi sağlayan bir araç. Windbg'ı kullanmanın en büyük zorluğu uygun komutu bularak bu bellek dökümü dosyasını açmak (Mark Russinovich'in sözü). Windbg'ı çalıştırıp File menüsünden Open Crash Dump... (Ctrl+D) ile bu bellek dökümünü açabiliriz. Aşağıda örnek olarak Windbg ile açılmış bir bellek dökümünün ekran görüntüsü var.
Alttan ikinci satırda hatanın muhtemel sebebi belirtilmiş:
Probably caused by : avgntflt.sys ( avgntflt+17623 )
Önerildiği gibi
!analyze -v
komutunu kullanarak Windbg'ın crash dump dosyasını analiz ederek bize en son şüpheliyi söylemesini de isteyebiliriz. Bu komuttan sonra ekranda şöyle bir görüntü olacak.
Şüpheli değişmedi. Eğer sadece yukarıda yazan bilgiye erişmek isteseydik Nirsoft'un BlueScreenView programını da kullanabilirdik.
Evet, burada da "The problem seems to be caused by the following file: avgntflt.sys" diyor. Burada karar verme süreci şöyle işliyor: Windbg hatanın olduğu anda en son hangi prosesin kodlarının işletildiğine bakıyor. En son Microsoft olmayan prosesi suçlu kabul ediyor (Russinovich'in sözü). Cümlelerin kuruluşundan da anlaşılabileceği gibi bu nihai karar değil. Daha ayrıntılı incelemek gerek. Ama daha ayrıntılı bir analiz yapmadan önce bu sonuçları bir değerlendirmek gerek. Öncelikle hataya sebep olan bileşenin yeni sürümü var mı, kontrol etmeli. Varsa yenisini yüklemeli. Bu mümkün değilse ve kullanılmıyorsa bu bileşenden kurtulmak denenmeli. Bunların hiçbirisi fayda etmiyorsa bu durumda bazı ileri teknikler kullanmak gerekir. Bunları da başka bir yazının konusu.
---
Microsoft dll ve exe dosyaları için sembollere ihtiyaç duyulması durumunda kullanılacak sembol dizesi:
srv*c:\symbols*http://msdl.microsoft.com/download/symbols
olabillir. Ya da ortam değişkeni olarak %_NT_SYMBOL_PATH% içeriğini yukarıdaki dizeye eşitleyebiliriz. İkisi de aynı etkiye sahip.
8.06.2014
TİB IP log imzalayıcı - ince ayrıntılar
Programın kurulumu gayet basit. Kurulum sırasında sadece programın hangi klasöre kurmak istediğimiz soruluyor. Kurulum klasörünün altında da signed_files klasörü vardır ki bu klasöre imzalanan log dosyaları konur. Bu klasörün yeri sonradan değiştirilemiyor. Bu sebeple planlamayı baştan yapmak gerek. Tüm imzalanan log dosyaları buraya konacağı için yer kaplayacaktır.
Program kurulduktan sonra belli bir klasörü izleyerek gelen log dosyalarını imzalayacak. İzlenecek klasör programın grafik arayüzü aracılığıyla değiştirilebiliyor. Gelen dosyaların imzalanması için de 3 seçenek var; dosyalar kopyalanır kopyalanmaz, her gün aynı saatte ya da 1 saat aralıklarla.
Programın iki bileşeni var. Birincisi Windows'da oturum açtığınızda çalışan client.exe (ki sistem tepsisindeki ikondan da bu sorumlu), diğeri de bir Windows hizmeti olarak çalışacak olan service.exe. Bir kez ayarlar yapıldıktan sonra client.exe'nin çalışır durumda olmasının (ya da sistem tepsisindeki simgenin gözükmesinin) bir gereği yok. Zamanlamayı yapan da, imzalama işlemini gerçekleştiren de service.exe. Bu Windows hizmetinin çalışır durumda olması gerekli.
Sıra geldi en büyük soruya. "İnternet zamanı alınamadı. Dosyalar imzalanmayacak" diye hata!
Bu hata, programın internetten geçerli zamanı alamadığını ve bu sebeple imzalama işleminin gerçekleşmeyeceğini söylüyor. Kontrol edince söz konusu bilgisayardan SNTP veya NTP bağlantısının yapılabildiğin görüp şaşırmıştım. TİB'in kendi dökümantasyonununda programın NTP'yi kullandığı söyleniyor [1]. Ama UDP 123 yerine TCP 37 kullanılıyor ki bu da eski Time Protocol [2].
Bir de imzalama işleminin nasıl olduğundan bahsedelim; C:\islenen_log klasörüne bir şekilde düşen log dosyaları için bir zaman damgası oluşturuluyor. Bu zaman damgası ile log dosyasının kendisi daha sonra signed_files'in içindeki ilgili alt klasöre taşınıyor. Burada ikisi birlikte saklanıyor. Bu klasördeki log dosyaları imzalanma sonrasında hala bir metin editörü ile görüntülenebilir durumda oluyor, ama dosyayı sakın değiştirmeyin. Böyle bir durumda oluşan zaman damgası geçerliliğini kaybeder. Tekrar oluşturmak gerekir, o da log dosyasının haricen bir müdahaleye maruz kaldığını gösterir.
Program, zaman bilgisini almak için, programın içine sabit olarak yerleştirilmiş aşağıdaki sunuculara başvuruyor.
utcnist.colorado.edu
time-a.nist.gov
time-b.nist.gov
time-a.timefreq.bldrdoc.gov
time-b.timefreq.bldrdoc.gov
time-c.timefreq.bldrdoc.gov
time.nist.gov
time-nw.nist.gov
nist1.symmetricom.com
nist1-dc.WiTime.net
nist1-ny.WiTime.net
nist1-sj.WiTime.net
nist1.aol-ca.symmetricom.com
nist1.aol-va.symmetricom.com
nist.expertsmi.com
İnternet zamanını alabilmek için sırayla bu 15 sunucu denenmeye başlanır. Her bir sunucu için cevap zaman aşımı 20 sn. 15x20 = 300 sn (5 dakika) yapar. Yani program internet bağlantısını yapamaması durumunda 5 dakika sonra hata verir ki bu da garip bir durum.
Yapılan işlemlerle ilgili günlük log, signed_files klasörünün altındaki günlük alt klasörlerin içindeki mechanism.log dosyasında tutulur.
Ek@2021-10-14: Uzun lafın kısası, program internetten zaman bilgisi alamadığı için bu hatayı veriyor. Zaman bilgisinin alınamamasının her sistemde farklı çözümü olabilir. Güvenlik duvarı üzerinden erişime izin verilmesi gerekebilir. Ama dikkat edin, UDP123 portuna değil TCP37 portuna izin vermek gerek. Yukarıdaki sunuculara ulaşmaya çalışıyor, hiçbirine ulaşmayıınca da 5 dakika kadar sonra hata mesajı görüntüleniyor. İmzalanan loglar signed_files klasörüne taşınıyor. Bu dosyalarla aynı klasöre, aynı isimle ama uzantısı .imza olan dosyalar oluşturuluyor. Bu log dosyalarının belirtilen saatten sonra değiştirilmediğine dair oluşturulan zaman damgası var içinde. İmzalanan dosyalar üzerinde bu aşamadan sonra değişiklik yapılmaması için hiç açılmaması önemle tavsiye olunur.
[1] http://www.tib.gov.tr/tr/tr-menu-47-internet_icerik_duzenlenmesi_hakkindaki_sorular.html, soru 37
[2] http://en.wikipedia.org/wiki/Time_Protocol
15.05.2014
Türk halkının TCP/IP ile imtihanı
Artık her yaştan internet kullanıcısı DNS değitşrimenin ne demek olduğunu ve ne işe yaradığını öğrendi bu ülkede.
Uzun zamandır bir dedikodu halinde konuşulup yazılıyor. Bir taraftan "Yuh artık, bu kadarı da yapılmaz herhalde" derken geçtiğimiz günlerde karşlaştığım trace route sonuçlarına bakınca inanmak istemedim bi süre. Sonra acı gerçeği kabullendim.
Yeni internet düzenlemelerine göre yasakları uygulamanın sorumluluğu internet servis sağlayıcılara yüklenince, onlar da youtube'u yasaklamak için kendi içlerinde "fake" DNS sunucular kurmuşlar. Bunlara da popüler OpenDNS, Google DNS gibi DNS sunucuların IP adreslerini vermişler. Kendi ağlarından gelen bütün trafiği bunlara yönlendirmişler, çakallar!
Diğer ülkelerdeki internet servis sağlayıcıların yaptığı gibi var olmayan adreslerin için reklam dolu sayfalara yönlendirme değil amaç; daha çok yasağı uygulama, belki de kayıt altına alma.
Ben de bu durum üzerine kullandığım DNS sunucunun gerçek mi, yoksa sahtesi mi olduğunu nasıl anlayabilirim diye düşünmeye başladım. DNS sorgularına dönülen cevaplardan bir sonuç çıkarmak imkansız. IP adresini verip coğrafi konumunu sorgulamak da anlamasız, çünkü bu haricen statik bir veritabanından sorgulanıyor.
Ping sonuçları çok az bilgi veriyor (aslıda [3]'te söylendiği gibi korsan bir DNS sunucu, normal sunucuya kıyasla çok daha hızlı cevap verecektir; ama bu kesin bir sonuç değil). Bunun yerine trace route çıktıları faydalı olabilir. Trace route, belirtilen hedefe kadar geçilen her router'a gönderilen ICMP paketlerinin sonuçlarını gösteriyor. Yolumuzda bazı noktalardan cevap alamıyor olabiliriz, ama en azından yol bize bir bilgi verecektir.
Benim aldığım bir örnek aşağıdaki gibi:
C:\>tracert -d 8.8.4.4
Tracing route to 8.8.4.4 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms xxx.xxx.xxx.xxx
2 1 ms 1 ms 1 ms xxx.xxx.xxx.xxx
3 1 ms 1 ms 1 ms xxx.xxx.xxx.xxx
4 6 ms 2 ms 1 ms xxx.xxx.xxx.xxx
5 2 ms 2 ms 1 ms xxx.xxx.xxx.xxx
6 9 ms 9 ms 8 ms 81.212.217.225
7 8 ms 9 ms 11 ms 81.212.197.62
8 29 ms 27 ms 31 ms 72.14.217.118
9 27 ms 26 ms 26 ms 72.14.235.39
10 33 ms 33 ms 33 ms 8.8.4.4
Trace complete.
Bu durum benim veya birkaç kişinin farkettiği bir şey olmaktan uzak. Gayet iyi bir şekilde, üstelik de neredeyse yapılır yapılmaz otoriteler tarafından farkedilmiş ve belgelenmiş [2,3].
Gördüğüm kadarıyla bu işin başlangıcı 29 Mart 2014'e kadar gidiyor.
7.04.2014
NTFS birimi ne zaman yaratılmış
Linux'ta bir ext3 disk bölümünün ne zaman yaratıldığını şurada da anlattığım gibi tune2fs aracıyla bulabiliyoruz. Bunu Windows'da NTFS sürücüler için yapabilir miyiz diye ararken şu sonucu buldum. Sistem sürücüsü için bunun yerine systeminfo komutunu kullanabiliriz. Ama harici bir disk için? İşte sorunun cevabı.
Güzel haber olarak ZwQueryVolumeInformationFile() Windows API'si ile bu bilginin sorgulanabildiği, 5. parametre olarak FileFsVolumeInformation sağlanması halinde FILE_FS_VOLUME_INFORMATION tipinde bir veri döndüğü ve bunun da içinde birim etiketi, seri numarası ve yaratılma tarihi olduğu söylenmiş.
Ama kötü haber: bu veriyi okuyabilecek bir program yazılmamış. Ancak JdeBP adlı kullanıcı, bu bilgiyi meşhur sysinternals aracı Process Monitor'ün okuduğu onca bilginin arasında bu bilgiyi de listelediğini söylemiş.
O halde bu veriye ulaşmak için yapılacaklar şöyle:
- procmon /noconnect ile Process Monitor başlatılır. noconnect anahtarı başlar başlamaz veri yakalamamasını söyler.
- İlk olarak Ctrl+L ile "Filter" diyaloğu açılır. Burada varsa eski süzgeci sıfırlamak için önce Reset tuşuna basılabilir. Ardından
- Ardından bilgisayarda sürücülerin harfleri tıklanarak birkaç gezinme yapılır, kök dizindeki dosyalar listelenir. Olmadı, cmd ile terminal açılır, istenen sürücü için dir komutu kullanılır. Bu arada Process Monitor'e veriler düşmeye başlar.
- Düşen verilerin içinde Detail sütununda VolumeCreationTime bilgisine bakılır. Aranan veri buradadır.
Operation=QueryInformationVolumesüzgeci girilir.
Tercihen Filter menüsünden de "Drop Filtered Events" seçilerek ilgi alanımız dışında yakalanabilecek olayların saklanmaması da sağlanır ve Capture komutu (Ctrl+E veya büyüteç sembolü) verilir.