I got a question about my DNS Debug script, which parses the DNS logfile so it is easier to find what is happening in the DNS. A nice guy was having issues with a log file. So he sent over a few row.

06.03.2020 17:15:40 0BD4 PACKET 0000008F15AD2190 UDP Rcv 10.200.1.222 9e90 Q [0001 D NOERROR] A (4)test(5)virot(2)eu(0)
06.03.2020 17:15:40 0BD4 PACKET 0000008F15AD2190 UDP Snd 10.200.1.222 9e90 R Q [8085 A DR NOERROR] A (4)test(5)virot(2)eu(0)
06.03.2020 17:15:40 0BDC PACKET 0000008F160FA150 UDP Rcv 10.200.1.222 14db Q [0001 D NOERROR] AAAA (4)test(5)virot(2)eu(0)
06.03.2020 17:15:40 0BDC PACKET 0000008F160FA150 UDP Snd 10.200.1.222 14db R Q [8085 A DR NOERROR] AAAA (4)test(5)virot(2)eu(0)
06.03.2020 17:15:41 0BDC PACKET 0000008F142B61F0 UDP Rcv 10.200.1.221 e499 Q [0001 D NOERROR] A (5)test2(15)virot(2)de(0)
06.03.2020 17:15:41 0BD4 PACKET 0000008F13B2C160 UDP Rcv 10.200.1.221 721b Q [0001 D NOERROR] AAAA (5)test2(15)virot(2)de(0)
06.03.2020 17:15:41 0BDC PACKET 0000008F142B61F0 UDP Snd 10.200.1.221 e499 R Q [8085 A DR NOERROR] A (5)test2(15)virot(2)de(0)

Okey lets be honest it took me to get around to it. There is a thing called Corona making all the headlines right now 🙁

Anyway since he sent it in on the 6 of March 2020.. I had good guess about the date formatting being dd-MM-yyyy. But that didn’t really help me. So I sent Marc a message, but then I thought.. I know that Windows knows about 428 locales. I’m in a quarantine anyway, I can do this. Then I thought again, I have a computer with Powershell.

PS C:\Users\virot> [System.Globalization.CultureInfo]::GetCultures([System.Globalization.CultureTypes]::InstalledWin32Cultures)|select Name, DisplayName| ForEach-Object {Add-Member -Name 'DateTimeFormat' -Force -PassThru -InputObject $_ -MemberType NoteProperty -Value ([System.Globalization.CultureInfo]::new($_.name).DateTimeFormat.ShortDatePattern)} |?{$_.DateTimeFormat -eq 'dd.MM.yyyy'}

And this is the 52 entries i got:

Name DisplayName DateTimeFormat
az Azerbaijani dd.MM.yyyy
az-Cyrl Azerbaijani (Cyrillic) dd.MM.yyyy
az-Cyrl-AZ Azerbaijani (Cyrillic, Azerbaijan) dd.MM.yyyy
az-Latn Azerbaijani (Latin) dd.MM.yyyy
az-Latn-AZ Azerbaijani (Latin, Azerbaijan) dd.MM.yyyy
cs Czech dd.MM.yyyy
cs-CZ Czech (Czech Republic) dd.MM.yyyy
de German dd.MM.yyyy
de-AT German (Austria) dd.MM.yyyy
de-CH German (Switzerland) dd.MM.yyyy
de-DE German (Germany) dd.MM.yyyy
de-LI German (Liechtenstein) dd.MM.yyyy
de-LU German (Luxembourg) dd.MM.yyyy
et Estonian dd.MM.yyyy
et-EE Estonian (Estonia) dd.MM.yyyy
fo Faroese dd.MM.yyyy
fo-FO Faroese (Faroe Islands) dd.MM.yyyy
fr-CH French (Switzerland) dd.MM.yyyy
gsw Alsatian dd.MM.yyyy
hy Armenian dd.MM.yyyy
hy-AM Armenian (Armenia) dd.MM.yyyy
it-CH Italian (Switzerland) dd.MM.yyyy
ka Georgian dd.MM.yyyy
ka-GE Georgian (Georgia) dd.MM.yyyy
kk Kazakh dd.MM.yyyy
kk-KZ Kazakh (Kazakhstan) dd.MM.yyyy
lv Latvian dd.MM.yyyy
lv-LV Latvian (Latvia) dd.MM.yyyy
nb Norwegian (Bokmål) dd.MM.yyyy
nb-NO Norwegian, Bokmål (Norway) dd.MM.yyyy
nn Norwegian (Nynorsk) dd.MM.yyyy
nn-NO Norwegian, Nynorsk (Norway) dd.MM.yyyy
no Norwegian dd.MM.yyyy
pl Polish dd.MM.yyyy
pl-PL Polish (Poland) dd.MM.yyyy
ro Romanian dd.MM.yyyy
ro-MD Romanian (Moldova) dd.MM.yyyy
ro-RO Romanian (Romania) dd.MM.yyyy
ru Russian dd.MM.yyyy
ru-MD Russian (Moldova) dd.MM.yyyy
ru-RU Russian (Russia) dd.MM.yyyy
sah Sakha dd.MM.yyyy
sah-RU Sakha (Russia) dd.MM.yyyy
sma-NO Sami, Southern (Norway) dd.MM.yyyy
smj-NO Sami, Lule (Norway) dd.MM.yyyy
tg Tajik dd.MM.yyyy
tg-Cyrl Tajik (Cyrillic) dd.MM.yyyy
tg-Cyrl-TJ Tajik (Cyrillic, Tajikistan) dd.MM.yyyy
tt Tatar dd.MM.yyyy
tt-RU Tatar (Russia) dd.MM.yyyy
uk Ukrainian dd.MM.yyyy
uk-UA Ukrainian (Ukraine) dd.MM.yyyy

So when I had gotten the list I could just try with a Locale and it worked. I later learned that the server was a German with the locale de-DE.

But now I know how to easy see what locale it might be 🙂