Mattepuffo's logo
Creare un port scanner in Python

Creare un port scanner in Python

Preciso che l'ho testato solo su Python 3; non so che modifiche vadano fatte per la versione 2.

Qui useremo le socket e il multi-threading con il modulo threading per velocizzare il tutto.

Faremo il classico scanner di tutte le porte fino alla 65535.

Mattepuffo's logo
Creare un port scanner in Java

Creare un port scanner in Java

Ovviamente non parliamo di un port scanner professionale come potrebbe essere NMap.

Però, alla fine della fiera anche se scritto in Java, si è rivelato abbastanza veloce.

Mattepuffo's logo
Usare aria2 in Node.js

Usare aria2 in Node.js

Abbiamo già visto aria2 in questo articolo.

Oggi vediamo come integrarlo in Node.js usando Javascript usando un modulo apposito: aria2.js!

In verità dovrebbe essere utilizzabile anche lato client, ma non l'ho testato.

Comunque, creiamo il nostro bel package.json:

{
    "name": "TestAria2",
    "version": "1.0.0",
    "keywords": [],
    "author": "Mattepuffo",
    "contributors": [],
    "dependencies": {
        "aria2": "*"
    }
}

Mattepuffo's logo
Inviare messaggi a tutti i client in Socket.io

Inviare messaggi a tutti i client in Socket.io

Socket.io ha la possibilità di inviare messaggi a tutti i client connessi (broadcasting) in maniera veramente easy.

Penso sia più facile visualizzare un esempio; partiamo dal Javascript:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
var clients = 0;

app.get('/', function (req, res) {
    res.sendFile('index.html', {root: __dirname});
});

io.on('connection', function (socket) {
    clients++;
    io.sockets.emit('broadcast', {description: clients + ' clients connected!'});
    socket.on('disconnect', function () {
        clients--;
        io.sockets.emit('broadcast', {description: clients + ' clients connected!'});
    });
});

http.listen(3000, function () {
    console.log('listening on *:3000');
});

Mattepuffo's logo
Intercettare gli eventi in Socket.io

Intercettare gli eventi in Socket.io

Con Socket.io è possibile intercettare / emettere eventi, ed agire di conseguenza.

Ne vediamo tre esempi.

Il primo riguarda l'evento message, che è un evento built-in del framework:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function (req, res) {
    res.sendFile('index.html', {root: __dirname});
});

io.on('connection', function (socket) {
    console.log('A user connected');

    setTimeout(function () {
        socket.send("Messaggio dopo 3 secondi");
    }, 3000);

    socket.on('disconnect', function () {
        console.log('A user disconnected');
    });

});

http.listen(3000, function () {
    console.log('listening on *:3000');
});