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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
gf — grep のラッパーで、さまざまなものを grep するのに役立ちます | Kitploit
ツール/GitHubGitHub/tomnomnom/gf
汎用ユーティリティ偵察コード分析情報収集シークレット検出
GitHubtomnomnom/gf

gf

grep のラッパーで、さまざまなものを grep するのに役立ちます

リポジトリを見る
2.1k3422年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

gf

grep のラッパーで、よく使うパターンを入力しなくて済むようにするツールです。

何? なぜ?

私は grep を よく 使います。コードベースを監査するとき、meg の出力を見るとき、あるいは一般的に大量のデータを扱うときなどです。次のようなかなり複雑なパターンをよく使うことになります:

root@kitploit:~
▶ grep -HnrE '(\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)|php://(input|stdin))' *

これをすべてタイピングするのは本当に間違えやすいですし、結果が得られない場合、それは見つけるものがなかったのか、それともパターンの書き方を間違えたのか、あるいはフラグを間違って選んだのかを判断するのは難しいことがあります。

私は gf を、いつも使うパターンとフラグの組み合わせに名前を付けるために作りました。つまり、上記のコマンドは単純に次のようになります:

root@kitploit:~
▶ gf php-sources

パターンファイル

パターン定義は ~/.gf に、バージョン管理下に置ける小さな JSON ファイルとして保存されます:

root@kitploit:~
▶ cat ~/.gf/php-sources.json
{
    "flags": "-HnrE",
    "pattern": "(\\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)|php://(input|stdin))"
}

パターンの長さと複雑さを少し減らすために、複数のパターンのリストを指定することもできます:

root@kitploit:~
▶ cat ~/.gf/php-sources-multiple.json
{
    "flags": "-HnrE",
    "patterns": [
        "\\$_(POST|GET|COOKIE|REQUEST|SERVER|FILES)",
        "php://(input|stdin)"
    ]
}

examples ディレクトリには、さらにいくつかのサンプルパターンファイルがあります。

-save フラグを使うと、コマンドラインからパターンファイルを作成できます:

root@kitploit:~
▶ gf -save php-serialized -HnrE '(a:[0-9]+:{|O:[0-9]+:"|s:[0-9]+:")'

オートコンプリート

オートコンプリート用のスクリプトが同梱されているので、'tab' キーを押すと選択肢が表示されます:

root@kitploit:~
▶ gf <tab>
base64       debug-pages  fw           php-curl     php-errors   php-sinks    php-sources  sec          takeovers    urls

Bash

オートコンプリートを機能させるには、.bashrc などで gf-completion.bash ファイルを source する必要があります:

root@kitploit:~
source ~/path/to/gf-completion.bash

Zsh

オートコンプリートを機能させるには、autoload -U compaudit && compinit を使用するか、.zshrc に記述してオートコンプリートを有効にする必要があります(oh-my-zsh を使用している場合は不要です)。

次に、.zshrc などで gf-completion.zsh ファイルを source します:

root@kitploit:~
source ~/path/to/gf-completion.zsh

注意:oh-my-zsh などを使用している場合、gf が git fetch のエイリアスになっていることがあります。gf バイナリを別の名前にエイリアスするか、unalias gf で git fetch のエイリアスを削除してください。

カスタムエンジンの使用

grep のより良い代替となり得る素晴らしいコード検索エンジンがいくつかあります。良い例は the silver searcher です。これは高速で(はるかに高速)、結果をより視覚的にわかりやすい方法で表示します。別のエンジンを利用するには、該当するパターンファイルに engine: <other tool> を追加します:

root@kitploit:~
# grep の代わりに the silver searcher を aws-keys パターンで使用する:
# 1. "ag" エンジンを追加
# 2. ag には関係ない E フラグを削除
{
  "engine": "ag",
  "flags": "-Hanr",
  "pattern": "([^A-Z0-9]|^)(AKIA|A3T|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{12,}"
}
  • 注意:エンジンによって使用するフラグが異なります。そのため、上記の例では、ag を正常に実行するために aws-keys.json ファイルからフラグ E を削除する必要があります。

インストール

Go がインストールされ設定されていれば、gf は次のようにインストールできます:

root@kitploit:~
▶ go get -u github.com/tomnomnom/gf

go get でインストールした場合は、次のようにして .bashrc にオートコンプリートを設定できます:

root@kitploit:~
▶ echo 'source $GOPATH/src/github.com/tomnomnom/gf/gf-completion.bash' >> ~/.bashrc

変更を反映するには、ターミナルを再起動するか、source ~/.bashrc を実行する必要があることに注意してください。

すぐに使い始めるには、次のようにサンプルのパターンファイルを ~/.gf にコピーできます:

root@kitploit:~
▶ cp -r $GOPATH/src/github.com/tomnomnom/gf/examples ~/.gf

私が例として含めた個人的なパターンは、あなたにはあまり役に立たないかもしれませんが、それでも参考になる程度のものだと思います。

コントリビューション

実は、新しいパターンファイルが最も歓迎されます! 定期的に grep で検索するものがあるなら、遠慮なく PR を出して examples ディレクトリに新しいパターンファイルを追加してください。

バグ修正もいつでも歓迎します :)

ツールをダウンロード