Savoir quel programme à ouvert quel port

Voici une astuce bien pratique permettant de retrouver un programme qui peux par exemple vous déranger et donc vous permettre de le killer.

Dans mon cas j'ai souhaité savoir quel programme écoutait sur le port 80 (http) de mon ordinateur.

Sous Windows

Pour ouvrir l'invite de commande cliquez sur démarer puis exécuter (ou directement dans le champ texte) puis entrez "cmd" dans la fenêtre qui s'est ouverte.
http://www.maraumax.fr/medias/Billets/tutoriels/invite-cmd.png
Vous validez, la fenêtre se ferme et une autre s'ouvre à vous !
http://www.maraumax.fr/medias/Billets/tutoriels/invite-commande.png
Dans cette console, vous devez écrire les deux commandes suivantes permettant de récupérer la liste des connexions actives et ensuite de filtrer avec le port que vous recherchez.

# Remplacez ":80" par le port que vous souhaitez rechercher
netstat -ano | find ":80"

Vous pouvez ensuite apercevoir le résultat de votre commande.
http://www.maraumax.fr/medias/Billets/tutoriels/invite-netstat.png
Une petite explication des colonnes :
1 - Le type de connexions (TCP ou UDP)
2 - Adresse / Port locale de connexion
3 - Adresse / Port distante
4 - L'état de la connexion
5 - Le numéro du processus correspondant

Pour savoir si un port est à l'écoute il suffit de regarder dans la quatrième colonne si l'état est "LISTENING". Par exemple dans la capture d'écran les ports 80 et 8002 sont à l'écoute.

Il suffit ensuite de récupérer le numéro du processus et de regarder dans le "tasklist".

# N'oubliez pas de remplacer le numéro de votre processus
tasklist | find "3952"

http://www.maraumax.fr/medias/Billets/tutoriels/invite-tasklist.png
Vous pouvez désormais récupérer le nom du processus ("httpd.exe" correspondant à apache dans l'exemple) dans la première colonne du résultat.

Sous Linux

Sous linux c'est toujours avec la commande netstat seulement c'est beaucoup plus simple car le résultat de cette commande est plus complet.

Pour récupérer la liste des ports et programmes qui écoute il vous suffit simplement d'utiliser cette commande :

# Remplacez :www par votre protocole ou le port souhaité
netstat -lpt | grep LISTEN | grep :www

http://www.maraumax.fr/medias/Billets/tutoriels/netstat-unix.png
Et dans la dernière colonne on remarque que c'est apache2 qui écoute sur le port 80.

En espérant vous avoir été utile !

TimeStamp.Pro vous permet de convertir vos dates et timestamp

http://www.maraumax.fr/medias/Billets/timestamp-pro.pngLe timestamp aussi appelé heure Unix ou encore heure Posix correspond aux nombres de secondes écoulées depuis le 1er janvier 1970 00:00:00 UTC.

C'est une valeur courament utilisée dans le développement de site internet car elle permet de manier très facilement les dates. Par exemple une simple soustraction permet de récupérer une différence entre deux dates.

Cependant le timestamp présente un gros inconvéniant : sont format n'est pas parlant pour un être humain ! Par exemple savez-vous à quel date correspond le timestamp "1262300400" ? Simplement au 1er Janvier 2010 à 00 heures 00 minutes et 00 secondes.

J'ai donc dans un premier temps pour ma propre utilisation puis ensuite pour tous les développeurs décidé de créer un "mini-site" permettant de manipuler simplement ce format.

TimeStamp.Pro vous offre donc la possibilitée de convertir un timestamp en date et inversement, faire une différence entre deux timestamp mais aussi de mettre en place un widjet sur votre navigateur préféré (Firefox) permettant de convertir les dates et timestamp directement depuis les sites internet que vous développez/visitez !

Visiter : TimeStamp.Pro

Limitation paramètres dans fichier .htaccess

Il m'est arrivé dans certains projet d'avoir de nombreux paramètres dans les adresse. Rien de bien compliqué dans un premiet temps, sauf lorsque l'on souhaite ré-écrire une URL avec plus de 9 paramètres.

Explication

Pour faire simple, rien de mieux qu'un exemple !

RewriteEngine on
 
# Exemple 1
# Url test : informations-1-p-2-q-3-r-4-s-5-t-6-u-8-v-9-w-10.html
RewriteRule ^informations-([0-9]*)-p-([0-9]*)-q-([0-9]*)-r-([0-9]*)-s-([0-9]*)-t-([0-9]*)-u-([0-9]*)-v-([0-9]*)-w-([0-9]*)-x-([0-9]*).html$ informations.php?id=$1&p=$2&q=$3&r=$4&s=$5&t=$6&u=$7&v=$8&w=$9&x=$10 [L]
 
# Exemple 2
# Url test : informations-1-p-2-t-6.html
RewriteRule ^informations-([0-9]*)(-p-[0-9]*)?(-q-([0-9]*))?(-r-([0-9]*))?(-s-([0-9]*))?(-t-([0-9]*)).html$ informations.php?id=$1&p=$3&q=$5&r=$7&s=$9&t=$11 [L]

Exemple 1
Dans cet exemple, notre adresse devra contenir tous les paramètres soit un total de 10 paramètres / variables.

Exemple 2
Pour le second exemple, il y a un paramètre obligatoire ainsi que cinq paramètres facultatifs. Donc 11 variables.

Jusque là il n'y a aucun problèmes. Seulement si vous testez ces ré-écritures vous remarquez un problème pour les paramètres supérieurs à 10.
En effet le second chiffre de la variable n'est pas pris en compte. Donc $10 correspond à $1.

Malhreusement pour le permier exemple je n'ai trouvé aucune solution... On est bien limité à 9 paramètres.
Mais pour le second exemple il existe un moyen de remédier au problème.

Piwik analyse vos sites web !

http://maraumax.fr/medias/Billets/piwik-logo.gifPiwik est un projet très intéressant qui vous permet d'installer sur votre hébergement un "Google Analytics Like".
L'avantage c'est que l'on conserve la main sur ses statistiques évitant ainsi qu'elle soit utilisé contre notre gré...

Le service est donc à installer sur votre hébergement et nécessite Php ainsi que Mysql. Une fois installé vous avez évidement la possibilité d'ajouter autant de sites et d'utilisateur que vous le souhaitez.

Télécharger grâce à Google !

Vous n'êtes pas sans savoir que google propose de nombreuses options lors de la recherche permettant par exemple d'inclure ou d'exclure des mots clés, préciser des types de fichiers et bien plus encore.

Je vous propose une ligne simple vous permettant d'avoir la possibilité de télécharger gratuitement et illégalement du contenu sur google.

"Votre Recherche" intitle:"Index Of/" -inurl:".php"

Notez que le principe fonctionne très bien avec de la musique mais peux aussi être utilisé pour des vidéos.

Exemple :
"Daft Punk" intitle:"Index Of/" -inurl:".php"
Certains résultats sembles intéressants !

http://maraumax.fr/medias/Billets/telechargement-google.png
Bonne recherches !

Permissions utilisateurs par projets dans un dépôt Subversion

http://maraumax.fr/medias/Billets/tutoriels/logo-subversion-svn.pngJ'utilise Subversion alias svn depuis pas mal de temps afin de centraliser les sources d'un projet avec un autre développeur. Le projet étant "fermé" j'avais simplement mis en place une sécurisation par mot de passe.

Aujourd'hui j'avais envie d'y installer d'autres sources (sur un autre projet) sans que l'autre développeur ait accès à ces données. Et c'est la que ça se complique, mettre en place des permissions utilisateurs par projets et non pour le dépôt complet.

Affichage de "Mes Documents" à chaques démarrage de Windows

Il se peux suite à l'installation d'un nouveau logiciel ou à une restauration de Windows que lors du démarrage de ce dernier s'affiche une fenêtre de vos documents.

Malgré le fait que ça ne pause aucun soucis et qu'il suffit de la fermer autant faire en sorte qu'elle ne s'affiche plus sachant que ça ne vous prendra que cinq minutes !

Masque de transparence en PHP

Voici une fonction vous permettant d'appliquer un masque de transparences sur vos images en php.
Cette manipulation peux vous permettre ensuite d'afficher vos images sur votre site.

Notez que le système est lourd car il "scan" tous les pixels du calque et de l'images.
Vous pouvez tester le système avec vos images à cette adresse.

Petite faille sur le site comment ça marche

J'effectuais tranquillement une recherche sur un comportement javascript avec les champs textarea lorsque je me suis retrouvé sur une page du site généralement intéressant commentcamarche.net

Je me suis rapidement aperçu que la page sur laquelle je naviguait présentait un soucis : un champ textarea (sujet de ma recherche) présent dans le titre et contenant de nombreux caractères. (Tout le code suivant à vrai dire car la balise textarea n'était pas fermée)

Pour vérifier tout ça rien de bien compliqué : ajouter directement un code javascript dans le titre du sujet à crée.

Et voici le résultat...

http://www.maraumax.fr/medias/Billets/faille_commentcamarche.png
Ironie du sort j'ai posté dans le forum programmation... bref. Je contacte de suite les administrateurs du site afin d'éviter tout autre tentatives avec des scripts présents sur des serveurs distants ce qui serait bien plus conséquent.

Pour information il s'agit d'une des failles les plus communes, communément appelées failles XSS.

Récupérer les URLs et les Emails d'une page en PHP

Voici quelques lignes de codes, notamment composé d'expressions régulières vous permettant de récupérer toutes les adresses emails contenus dans une page ainsi que les liens qui la compose.

Find Me If U Can - Retrouver votre mobile perdu !