Ma[sette]u Teknik Blog

July 27, 2005

[Asp]Session Lost

Filed under: [General], [Scripting]

Testando un’applicativo scritto in asp, su piattaforma Windows 2000 Server con iis5 come web server, mi sono imbattuto nel seguente problema :

digitando http://localhost/sitoweb/pagina.asp il sito funzionava perfettamente
digitando http://nome_server/sitoweb/pagina.asp il sito non funzionava (non riusciva a fare l’autenticazione).
Controllando il codice e facendo alcuni test, ho appurato che nel secondo caso non funzionavano le sessioni, utilizzate dal codice per autenticare, pertanto venivo rediretto su una pagina di login fallito.

Provando a smanettare con le varie impostazioni di timeout delle sessioni, provando con pagine semplici di test l’errore persisteva.

Infine ho trovato (RFC2821):

[cut]

To promote interoperability and consistent with long-standing
guidance about conservative use of the DNS in naming and applications
(e.g., see section 2.3.1 of the base DNS document, RFC1035 [22]),
characters outside the set of alphas, digits, and hyphen MUST NOT
appear in domain name labels for SMTP clients or servers. In
particular, the underscore character is not permitted. SMTP servers
that receive a command in which invalid character codes have been
employed, and for which there are no other reasons for rejection,
MUST reject that command with a 501 response.

[cut]

Cambiando il nome del server da Nome_server a Nome-server, tutto è tornato a funzionare.

January 21, 2005

Wake On Lan

Filed under: [General], [Scripting]

Con questo tecnica possiamo accendere uno/range pc da remoto inviando pacchetti UDP in broadcast attraverso la rete.

Requisiti:
Per fare ciò, si necessita di una scheda di rete che supporti il WOL (PCI 2.2) e di un bios che
supporti il servizio di WOL.

motherboard : Le più moderne motherboard ATX hanno 3 pin Wake-on-LAN connector vicino alla PCI slot e includono il BIOS support

NIC : le schede di rete dovranno includere 3 pin Wake-on-LAN connector. una delle schede che lo supportano sono le dffusissime Intel Pro/100+ (chipset 82559).

Come funziona
Quando un pc viene spento, la NIC continua ad essere alimentata ( lo si può notare dalle lucine tx/rx che rimangono attive anche a pc spento) e rimane in ascolto sulla rete di “magic packet” in arrivo.
Questi pacchetti contengono una sequenza di byte (che vengono incapsulati su qls protocollo es IP,IPX), tale per cui verrà dato il segnale di accensione alla motherboard.

la “magic sequenze” è composta da :

[ethernet header][IP header][UDP header][Magic sequence][CRCS]

la NIC che riceverà questa sequenza non risponderà alcunchè sulla rete.

Il Wake On Lan Frame
E’ una sequenza particolare inviata alla NIC contenente l’ethernet address ripetuto per 16 volte preceduto da uno _synchronization stream_ composto da 6 bytes di FFh.

esempio :

se la NIC ha ethernet address : 01:02:03:04:05:06 (6 bytes) la magic sequenze sarà :

FFFFFFFFFFFF010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506010203040506010203040506010203040506
010203040506010203040506

Ethernet address
composta da 48 bits -> 24 OUI (Organizationally Unique Identifier) servono per capire il produttore della NIC e quindi capire se è compatibile.

Spedire la sequenza in rete
Per spedire questa sequenza in rete bisogna accedere alle librerie di rete con un qualsiasi linguaggio di programmazione quali il c,c++,vbs,VisualBasic,C#,etc etc.

Qui di seguito un software per windows che gestisce il WOL :

PCnet Magic Packet Utility
* Company: Advanced Micro Devices, Inc.
* Version: 1.00
* Magic packet: UDP packet sent to the limited broadcast address (255.255.255.255) port 2304
* Download: magic_pkt.exe
* Note: Read the “Known Problems” section in the RELEASE.TXT file.

Qui una classe scritta in C# :
http://www.codeproject.com/csharp/wolclass.asp

December 17, 2004

[RegKey] Window Registry

Script che permette di aprire il registry di win ad una chiave predefinita senza dover così scorrersi tutto l’albero.

per utilizzarlo da start -> esegui -> regKey.bat “percorso chiave registry”

la sintassi del percorso possono essere in stile :

HKLM HKEY_LOCAL_MACHINE
HKLM\SYSTEM\CCS HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet
HKCU HKEY_CURRENT_USER
HKCR HKEY_CLASSES_ROOT
HKCC HKEY_CURRENT_CONFIG

esempio

regkey.bat “HKLM\Software\Microsoft\Windows\CurrentVersion”

RegKey Download (rinominare in .bat)