Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
fingerprintx — オープンポートのサービス検出のためのスタンドアロンユーティリティ! | Kitploit
ツール/GitHubGitHub/praetorian-inc/fingerprintx
偵察ネットワークマッピングポートスキャン情報収集ユーティリティとフレームワークArchived
GitHubpraetorian-inc/fingerprintx

fingerprintx

オープンポートのサービス検出のためのスタンドアロンユーティリティ!

リポジトリを見る
75878218ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

fingerprintx

機能 • インストール • 使い方 • fingerprintxの実行 • ライブラリとしての使用 • なぜnmapではないのか? • 注意事項 • 謝辞

fingerprintxは、httpxと似たユーティリティで、RDP、SSH、MySQL、PostgreSQL、Kafkaなどのサービスのフィンガープリンティングもサポートします。fingerprintxは、Naabuなどのポートスキャナーと一緒に使用して、ポートスキャンで特定されたポートのセットをフィンガープリントできます。例えば、エンジニアがIP範囲をスキャンし、見つかったすべてのポートで実行されているサービスを迅速にフィンガープリントしたい場合があります。

機能

  • 公開されたサービスの高速フィンガープリンティング
  • アプリケーション層のサービス検出
  • 他のコマンドラインツールとの連携が良好
  • 特定されたサービスからの自動メタデータ収集

https://user-images.githubusercontent.com/69640071/193334167-8405dd50-f9bf-4386-b7b8-83255af41a8b.mov

Fingerprintx の使用例

Fingerprintx チェーン例

Fingerprintx SMB の例

サポートされているプロトコル:

51 のサービス検出プラグインが、TCP および UDP プロトコルをサポートしています:

サービストランスポート
CassandraTCP
ChromaDBTCP
CouchDBTCP
DB2TCP
DHCPUDP
DiameterTCP
DNSTCP/UDP
EchoTCP
ElasticsearchTCP
FirebirdTCP
FTPTCP
HTTP/HTTPSTCP
IMAPTCP
InfluxDBTCP
IPMITCP
IPSECUDP
Java RMITCP
JDWPTCP
KafkaTCP
LDAPTCP
Linux RPCTCP
MemcachedTCP
MilvusTCP
ModbusTCP
MongoDBTCP
MQTTTCP
MSSQLTCP
MySQLTCP
Neo4jTCP
NetBIOS-NSUDP
NTPUDP
OpenVPNUDP
OracleDBTCP
PineconeTCP
POP3TCP
PostgreSQLTCP
RDPTCP
RedisTCP
RsyncTCP
RTSPTCP
SMBTCP
SMPPTCP
SMTPTCP
SNMPUDP
SNPPTCP
SSHTCP
STUNUDP
SybaseTCP
TelnetTCP
VNCTCP

特筆すべき機能:

  • ベクトルデータベース: ChromaDB, Milvus, Pinecone
  • リレーショナルデータベース: PostgreSQL, MySQL, MSSQL, OracleDB, DB2, Sybase, Firebird
  • NoSQLデータベース: MongoDB, CouchDB, Cassandra, Redis, Elasticsearch, InfluxDB, Neo4j
  • 開発者ツール: JDWP (Java Debug Wire Protocol), Java RMI
  • 産業用プロトコル: Modbus, IPMI
  • メッセージング: Kafka, MQTT, SMTP
  • リモートアクセス: SSH, RDP, Telnet, VNC
  • ファイル転送: FTP, SMB, Rsync
  • 通信/AAA: Diameter (3GPPネットワーク、LTE/5G), SMPP (SMSゲートウェイ)

インストール

Githubから

go install github.com/praetorian-inc/fingerprintx/cmd/fingerprintx@latest

ソースから (go バージョン > 1.18)

$ git clone [email protected]:praetorian-inc/fingerprintx.git
$ cd fingerprintx

# with go version > 1.18
$ go build ./cmd/fingerprintx
$ ./fingerprintx -h

Docker

$ git clone [email protected]:praetorian-inc/fingerprintx.git
$ cd fingerprintx

# build
docker build -t fingerprintx .

# and run it
docker run --rm fingerprintx -h
docker run --rm fingerprintx -t praetorian.com:80 --json

使い方

fingerprintx -h

-h オプションは、fingerprintx でサポートされているすべてのフラグを表示します。

Usage:
  fingerprintx [flags]
TARGET SPECIFICATION:
	Requires a host and port number or ip and port number. The port is assumed to be open.
	HOST:PORT or IP:PORT
EXAMPLES:
	fingerprintx -t praetorian.com:80
	fingerprintx -l input-file.txt
	fingerprintx --json -t praetorian.com:80,127.0.0.1:8000

Flags:
      --csv               output format in csv
  -f, --fast              fast mode
  -h, --help              help for fingerprintx
      --json              output format in json
  -l, --list string       input file containing targets
  -o, --output string     output file
  -t, --targets strings   target or comma separated target list
  -w, --timeout int       timeout (milliseconds) (default 500)
  -U, --udp               run UDP plugins
  -v, --verbose           verbose mode

fast モードは、各ターゲットのそのポートに関連付けられたデフォルトサービスに対してのみフィンガープリンティングを試みます。例えば、入力が praetorian.com:8443 の場合、https プラグインのみが実行されます。もし https が praetorian.com:8443 で実行されていない場合、出力はありません。なぜこれを行うのか? 多数のホストリスト(80/20ルール)でほとんどのサービスを迅速にフィンガープリントする方法です。

Fingerprintx の実行

1つのターゲット:

$ fingerprintx -t 127.0.0.1:8000
http://127.0.0.1:8000

デフォルトでは、出力は SERVICE://HOST:PORT の形式です。より詳細なサービス出力を得るには、--json フラグを指定します:

$ fingerprintx -t 127.0.0.1:8000 --json
{"ip":"127.0.0.1","port":8000,"service":"http","transport":"tcp","metadata":{"responseHeaders":{"Content-Length":["1154"],"Content-Type":["text/html; charset=utf-8"],"Date":["Mon, 19 Sep 2022 18:23:18 GMT"],"Server":["SimpleHTTP/0.6 Python/3.10.6"]},"status":"200 OK","statusCode":200,"version":"SimpleHTTP/0.6 Python/3.10.6"}}

別のプログラムから出力をパイプする(naabuなど):

$ naabu 127.0.0.1 -silent 2>/dev/null | fingerprintx
http://127.0.0.1:8000
ftp://127.0.0.1:21

入力ファイルで実行:

$ cat input.txt | fingerprintx
http://praetorian.com:80
telnet://telehack.com:23

# or if you prefer
$ fingerprintx -l input.txt
http://praetorian.com:80
telnet://telehack.com:23

より多くのメタデータを出力:

$ cat input.txt | fingerprintx --json
{"host":"praetorian.com","ip":"146.148.61.165","port":80,"service":"http","transport":"tcp","metadata":{"responseHeaders":{"Connection":["keep-alive"],"Content-Type":["text/html"],"Date":["Mon, 19 Sep 2022 18:37:55 GMT"],"Etag":["W/\"5e3e263f-1703\""],"Keep-Alive":["timeout=20"],"Server":["nginx"],"Vary":["Accept-Encoding"]},"status":"404 Not Found","statusCode":404,"version":"nginx"}}
{"host":"telehack.com","ip":"64.13.139.230","port":23,"service":"telnet","transport":"tcp","metadata":{"serverData":"fffb03"}}

ライブラリとしての使用

fingerprintx は、オープンポート上のサービスをスキャンするためにプロジェクトにインポートできます。その方法の例が、examples ディレクトリ に提供されています。ビルドは go build scan.go で行います。fingerprintx を自分のプロジェクトにインポートする際の参考になる別のファイルは、コマンドラインランナー です。

なぜNmapではないのか?

Nmap はネットワークスキャンの標準です。なぜ fingerprintx を nmap の代わりに使うのか? 主な理由は次の2つです:

ツールをダウンロード