ポートスキャナー
コミュニティ対象ホストで特定ポートが開いているかを確認します。
インストール
Save as `portscan.js`. Usage: `portscan <host> <port>`.
ソースコード
JavaScriptTutorial.terminal
// portscan.js
const net = require('net');
module.exports = async function(context) {
const host = context.args[0] || 'localhost';
const port = parseInt(context.args[1]) || 80;
return new Promise((resolve) => {
const socket = new net.Socket();
socket.setTimeout(2000);
socket.on('connect', () => {
resolve({ host, port, status: 'open' });
socket.destroy();
});
socket.on('timeout', () => {
resolve({ host, port, status: 'closed (timeout)' });
socket.destroy();
});
socket.on('error', (err) => {
resolve({ host, port, status: 'closed', error: err.message });
});
socket.connect(port, host);
});
};
プレビュー
● ライブデモAgent セッション
使い方
- 必要な依存関係があれば、事前にインストールします。
- ファイルを OpenClaw のスキルフォルダ(例:~/.openclaw/skills/)に配置します。
- エージェントを再起動するか、設定をリロードします。
- ファイル名(拡張子なし)をツール名として呼び出すか、説明が十分なら自然言語で呼び出します。