2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Bashでポートスキャン

Last updated at Posted at 2020-04-12

概要

ペネトレーションテストなどで侵害したLinuxホストから内部のネットワークに対してポートスキャンを実施することがあります。Nmapが無いことはほとんどですが、そのような時はBashの簡単なスクリプトでtimeoutコマンドをかましながら実行していましたが、timeoutコマンドがないことがありましたのでURL(※1)を参考にスクリプトを書いてみました。

スクリプト

portscan.sh
#!/bin/bash
host=$1
for port in {1..65535}; do
    (bash -c "echo > /dev/tcp/$host/$port") && echo "$port port is open" & sleep 0.1 ; kill -9 $! > /dev/null 2>&1
done
echo "Done"

使い方

$ bash ./portscan.sh 10.11.xx.xx > portscan.txt

実行するとオープンしているポートがあればportscan.txtファイルに
21 port is open
22 port is open
80 port is open

のように記載されます。

参考URL

※1 bashタイムアウトを実装する

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?