jeudi 31 mai 2012
SQL Server Reachability Monitor et SQL Server Data Scanner
SQL Server Reachability Monitor :
https://sourceforge.net/projects/sqlservermonitr/
Permet de vérifier en temps réel la connectivité vers un serveur SQL Server. Cette application C# se connecte à intervalles réguliers sur SQL Server et émet 10 requêtes du type SELECT COUNT(*) FROM [TABLE_PARAMETREE]. Si une erreur se produit, l'application se met en pause et affiche l'erreur, puis attend la pression d'une touche et se met à tester à nouveau en boucle la connectivité vers le serveur SQL Server.
SQL Server Data Scanner :
https://sourceforge.net/projects/sqlserverscan/
Permet de rechercher une valeur entrée par l'utilisateur, dans une base de données SQL Server, en parcourant tous les champs de toutes les tables dites "USER TABLE". Application développée en C#.
lundi 6 février 2012
Où Firefox stocke t-il ses données ?
Pour les curieux, il faut savoir que Firefox stocke ses informations à l'emplacement pointé par la variable système %APPDATA% + \Mozilla\Firefox\Profiles\xyzxyz.default\
Sachant qu'il faut remplacer "xyzxyz" par une valeur dont le calcul n'est pas encore déchiffré par mes soins. Par exemple cette valeur peut-être "oo2wzlzj.default".
Sur un PC normalement paramétré cet emplacement se trouve par défaut à :
C:\Documents and Settings\VOTRE_NOM_UTILISATEUR\Application Data\Mozilla\Firefox\Profiles\xyzxyz.default\
Le contenu de ce répertoire est le suivant :
- chromeappsstore.sqlite
- content-prefs.sqlite
- cookies.sqlite
- cookies.sqlite-shm
- cookies.sqlite-wal
- formhistory.sqlite
- key3.db
- localstore.rdf
- permissions.sqlite
- places.sqlite
- places.sqlite-wal
- prefs.js
- signons.sqlite
- urlclassifierkey3.txt
- webappsstore.sqlite
Il faut noter que la variable %APPDATA% peut-être définie par les administrateurs du réseau pour pointer sur un partage réseau, principalement pour des raisons de "portabilité" de l'environnement : Par exemple, votre profil peut être récupéré si vous vous connectez sur un autre ordinateur du même réseau.
Bien sûr une personne malveillante pourrait récupérer votre profil afin de l'analyser... A suivre...
Sachant qu'il faut remplacer "xyzxyz" par une valeur dont le calcul n'est pas encore déchiffré par mes soins. Par exemple cette valeur peut-être "oo2wzlzj.default".
Sur un PC normalement paramétré cet emplacement se trouve par défaut à :
C:\Documents and Settings\VOTRE_NOM_UTILISATEUR\Application Data\Mozilla\Firefox\Profiles\xyzxyz.default\
Le contenu de ce répertoire est le suivant :
- chromeappsstore.sqlite
- content-prefs.sqlite
- cookies.sqlite
- cookies.sqlite-shm
- cookies.sqlite-wal
- formhistory.sqlite
- key3.db
- localstore.rdf
- permissions.sqlite
- places.sqlite
- places.sqlite-wal
- prefs.js
- signons.sqlite
- urlclassifierkey3.txt
- webappsstore.sqlite
Il faut noter que la variable %APPDATA% peut-être définie par les administrateurs du réseau pour pointer sur un partage réseau, principalement pour des raisons de "portabilité" de l'environnement : Par exemple, votre profil peut être récupéré si vous vous connectez sur un autre ordinateur du même réseau.
Bien sûr une personne malveillante pourrait récupérer votre profil afin de l'analyser... A suivre...
mardi 10 janvier 2012
Sony Ericsson CK15i (Txt Pro) : Reboot continu
Afin de résoudre les bugs concernant un téléphone mobile CK15i (Txt Pro), Sony Ericsson conseille de mettre à jour mon téléphone à l'aide de l'application à télécharger ci-dessous :
http://dl-www.sonyericsson.com/cws/download/1/110/61/1317636927/Update_Service_Setup-2.11.10.7.exe
Et effectivement, après l'installation de l'application sur un PC, et après avoir suivi les instructions, le CK15i (Txt Pro) est comme neuf et le bug du reboot intempestif s'est volatilisé.
http://dl-www.sonyericsson.com/cws/download/1/110/61/1317636927/Update_Service_Setup-2.11.10.7.exe
Et effectivement, après l'installation de l'application sur un PC, et après avoir suivi les instructions, le CK15i (Txt Pro) est comme neuf et le bug du reboot intempestif s'est volatilisé.
samedi 29 octobre 2011
Jdownloader et Proxy HTTP
Il est possible de paramétrer le logiciel Jdownloader afin d'utiliser un proxy HTTP, c'est à dire un intermédiaire sur internet qui va relayer nos téléchargements depuis Rapidshare, Megaupload, Wupload ou toute autre plateforme d'hébergement de fichiers volumineux.
Par exemple, l'application ProxyMultiply de Jrim Software peut fournir une liste de proxy HTTP et tester la vitesse de chacun d'eux, ceci en quelques secondes (téléchargement de la liste et test !).
Très important : ProxyMultiply fournit une liste de proxy HTTP qui ne rendent pas anonyme votre connexion car elle transmets votre adresse IP dans un header HTTP. Les proxy HTTP fournis ne le sont qu'à titre d'intermédiaire, et non d'anonymisation. Ces proxy HTTP sont utiles par exemple dans le cas où un hébergeur de fichiers (Rapidshare, Megaupload...) bloque votre adresse IP. En passant par un intermédiaire de type proxy HTTP alors l'hébergeur de fichier verra l'adresse du proxy et non plus la votre, ce qui vous permettra alors de continuer vos téléchargements avec une nouvelle adresse IP.
Pour schématiser l'utilisation d'un proxy HTTP :
[Votre PC/Votre IP] <--> Proxy HTTP [IP2] <--> Hébergeur de fichiers [Rapidshare, Megaupload...]
L'hébergeur ne verra que l'adresse IP [IP2].
Ne pas oublier qu'entre le Proxy HTTP et l'hébergeur de fichier, la variable [X-FORWARDED-FOR] est susceptible de contenir votre adresse IP. Il n'est pas exclu que certains hébergeur implémentent l'utilisation du champs [X-FORWARDED-FOR]. Le jour où cela arrivera alors il faudra impérativement utiliser des proxy HTTP ne transmettant par ce champs.
Nombre de fois où cet article a été consulté :
Par exemple, l'application ProxyMultiply de Jrim Software peut fournir une liste de proxy HTTP et tester la vitesse de chacun d'eux, ceci en quelques secondes (téléchargement de la liste et test !).
Très important : ProxyMultiply fournit une liste de proxy HTTP qui ne rendent pas anonyme votre connexion car elle transmets votre adresse IP dans un header HTTP. Les proxy HTTP fournis ne le sont qu'à titre d'intermédiaire, et non d'anonymisation. Ces proxy HTTP sont utiles par exemple dans le cas où un hébergeur de fichiers (Rapidshare, Megaupload...) bloque votre adresse IP. En passant par un intermédiaire de type proxy HTTP alors l'hébergeur de fichier verra l'adresse du proxy et non plus la votre, ce qui vous permettra alors de continuer vos téléchargements avec une nouvelle adresse IP.
Pour schématiser l'utilisation d'un proxy HTTP :
[Votre PC/Votre IP] <--> Proxy HTTP [IP2] <--> Hébergeur de fichiers [Rapidshare, Megaupload...]
L'hébergeur ne verra que l'adresse IP [IP2].
Ne pas oublier qu'entre le Proxy HTTP et l'hébergeur de fichier, la variable [X-FORWARDED-FOR] est susceptible de contenir votre adresse IP. Il n'est pas exclu que certains hébergeur implémentent l'utilisation du champs [X-FORWARDED-FOR]. Le jour où cela arrivera alors il faudra impérativement utiliser des proxy HTTP ne transmettant par ce champs.
Nombre de fois où cet article a été consulté :
mercredi 19 octobre 2011
Cryptage GSM : RAND, SRES, Ki et Kc
Ki est la clé d'authentification individuelle stockée dans la carte SIM, et utilisée en tant que clé secrète partagée et connue de la station mobile et du HLR (Home Location Register) du réseau principal de l'utilisateur.
RAND est un challenge de 128 bits (16 octets) générée par le HLR.
SRES est la réponse signée d'une longueur de 32 bits (4 octets), générée par la station mobile et par le MSSC (Mobile Services Switching Center).
Kc est la clé d'authentification de 64 bits (8 octets) utilisée en tant que clé de session pour le cryptage sur le canal OTA (Over-The-Air). Kc est générée par la station mobile à partir du challenge présenté par le réseau GSM, et à partir de Ki stockée sur la carte SIM en utilisant l'algorithme A8.
RAND est un challenge de 128 bits (16 octets) générée par le HLR.
SRES est la réponse signée d'une longueur de 32 bits (4 octets), générée par la station mobile et par le MSSC (Mobile Services Switching Center).
Kc est la clé d'authentification de 64 bits (8 octets) utilisée en tant que clé de session pour le cryptage sur le canal OTA (Over-The-Air). Kc est générée par la station mobile à partir du challenge présenté par le réseau GSM, et à partir de Ki stockée sur la carte SIM en utilisant l'algorithme A8.
vendredi 16 septembre 2011
Oracle PL/SQL Data Scanner Script v0.2
Cette version du script permet de scanner toutes les tables d'une base de données, toutes les colonnes de chaque table, et parcoure la première ligne de la table ; La valeur de chaque colonne de la première ligne est obtenue.
-- Oracle PL/SQL Data Scanner Script v0.2
-- By IO-ESG (09/2011)
declare
myvar varchar2(1024);
i number;
myresult varchar2(1024);
myval varchar2(1024);
nbrec number;
valeur varchar2(256);
begin
dbms_output.enable(500000);
for t in (select t.* from all_tables t where t.owner like 'OWNER') loop
myvar := t.table_name;
dbms_output.put_line('table name = ' || myvar);
begin
execute immediate ('select count(*) from ' || t.table_name)
into nbrec;
dbms_output.put_line(' Nb records = ' || nbrec);
exception
when others then
dbms_output.put_line(' *** exception count ***');
end;
for u in (select u.* from all_tab_columns u where u.table_name = myvar) loop
dbms_output.put_line(' column name = ' || u.column_name);
begin
execute immediate('select v.' || u.column_name || ' from ' || u.table_name || ' v')
into valeur;
exception
when others then
dbms_output.put_line(' *** exception value ***');
end;
dbms_output.put_line(' VALUE = ' || valeur);
end loop;
end loop;
end;
-- Oracle PL/SQL Data Scanner Script v0.2
-- By IO-ESG (09/2011)
declare
myvar varchar2(1024);
i number;
myresult varchar2(1024);
myval varchar2(1024);
nbrec number;
valeur varchar2(256);
begin
dbms_output.enable(500000);
for t in (select t.* from all_tables t where t.owner like 'OWNER') loop
myvar := t.table_name;
dbms_output.put_line('table name = ' || myvar);
begin
execute immediate ('select count(*) from ' || t.table_name)
into nbrec;
dbms_output.put_line(' Nb records = ' || nbrec);
exception
when others then
dbms_output.put_line(' *** exception count ***');
end;
for u in (select u.* from all_tab_columns u where u.table_name = myvar) loop
dbms_output.put_line(' column name = ' || u.column_name);
begin
execute immediate('select v.' || u.column_name || ' from ' || u.table_name || ' v')
into valeur;
exception
when others then
dbms_output.put_line(' *** exception value ***');
end;
dbms_output.put_line(' VALUE = ' || valeur);
end loop;
end loop;
end;
mercredi 3 août 2011
(C#/.NET Framework 4) Insert SQL en base Oracle et obtention de l'ID ajouté.
Contexte : La table MATABLE comporte plusieurs champs dont un qui est nommé ID et qui est alimenté automatiquement par une SEQUENCE INCREMENTEE au sens ORACLE.
String strSQL = "insert into MATABLE(CHAMPS1) values('VALEUR1') returning id into :myOutputParameter";OracleCommand oracleCommand = new OracleCommand();oracleCommand.Connection = oracleConnection;oracleCommand.CommandType = System.Data.CommandType.Text;oracleCommand.CommandText = strSQL;oracleCommand.Parameters.Add("myOutputParameter", OracleDbType.Decimal, System.Data.ParameterDirection.ReturnValue);oracleCommand.ExecuteReader();int id = Int32.Parse(oracleCommand.Parameters["myOutputParameter"].Value.ToString());
mardi 28 juin 2011
Script PL/SQL Oracle Data Scanner v0.1
Après la publication du script PL/SQL d'hier, je me permets de créer donc le projet "Script PL/SQL Oracle Data Scanner" dont la version est actuellement en v0.1. L'objectif premier est de créer un script qui permet de rechercher une valeur dans une base de données Oracle en itérant sur tous les enregistrements de toutes les tables d'une base de données Oracle.
Pour chaque table, cette amélioration du script permet de compter tous les enregistrements de chacune, et liste les champs de chacune des tables également. Pour des raisons encore non élucidées, il y a des exceptions sur certaines tables système (probablement des droits qui ne permettent pas de les lire).
Pour chaque table, cette amélioration du script permet de compter tous les enregistrements de chacune, et liste les champs de chacune des tables également. Pour des raisons encore non élucidées, il y a des exceptions sur certaines tables système (probablement des droits qui ne permettent pas de les lire).
declare
myvar varchar2(1024);
i number;
myresult varchar2(1024);
myval varchar2(1024);
nbrec number;
begin
dbms_output.enable(500000);
for t in (select t.* from all_tables t where t.table_name like '%') loop
myvar := t.table_name;
dbms_output.put_line('table name = ' || myvar);
begin
execute immediate ('select count(*) from ' || t.table_name)
into nbrec;
dbms_output.put_line(' Nb records = ' || nbrec);
exception
when others then
dbms_output.put_line(' *** exception count ***');
end;
for u in (select u.* from all_tab_columns u where u.table_name = myvar) loop
dbms_output.put_line(' column name = ' || u.column_name);
end loop;
end loop;
end;
lundi 27 juin 2011
PL/SQL Oracle Scanner tous les champs de toutes les tables
declare
myvar varchar2(1024);
i number;
myresult varchar2(1024);
begin
for t in (select t.* from all_tables t where t.table_name like 'MARESTRICTIONDETABLE%') loop
myvar := t.table_name;
dbms_output.put_line('table name = ' || myvar);
for u in (select u.* from all_tab_columns u where u.table_name = myvar) loop
dbms_output.put_line('column name = ' || u.column_name);
end loop;
end loop;
end;
Avant de lancer l'exécution de ce script, mettez une restriction en remplaçant MARESTRICTIONDETABLE.
Si vous ne voulez aucune restriction, on peut étendre le champs d'application à absolument toutes les tables d'une base de données Oracle en supprimant la clause WHERE suivante
where t.table_name like 'MARESTRICTIONDETABLE%'
Have Fun !
lundi 25 avril 2011
Only Télécom et blocage de ports
Il semblerait que l'opérateur Only Télécom bloque certains ports jusqu'à environs 23h. Un des ports bloqués est le port 18604. Malgré plusieurs appels au support, ils ne donnent toujours pas de réponse après plusieurs mois.
Qualité de service Only Télécom = 0/20 !
Qualité de service Only Télécom = 0/20 !
Inscription à :
Articles (Atom)