各コマンドのコマンドの追加(たとえば、デフォルトでは各コマンドをプロキシに接続するなど)

各コマンドのコマンドの追加(たとえば、デフォルトでは各コマンドをプロキシに接続するなど)

他のコマンドを前にして各コマンドを実行するには?

私が実行したときの例:

nmap -p 80 host

私はそれを実行したい

proxychains nmap -p 80 host

proxychainsわざわざ入れなかったのですが。

つまり、すべてのコマンドに事前に追加されたエイリアスを一度に追加できますかproxychains

オン/オフできる機能なら本当にいいと思います。

答え1

で完全なシェルを実行できますかproxychains?シェルで開始されたプロセスを正しく処理すると仮定します。

あなたはこれを行うことができます

$ proxychains bash

勝手にシェルを終了します。


ただし、本当に必要な場合は、DEBUGトラップ(extdebugsetを使用)を乱用して、シェルが実行するコマンドを破損する可能性があります。これにより各コマンドが実行されますtime

$ shopt -s extdebug
$ d() { eval "time $BASH_COMMAND"; return 1;  }
$ trap d DEBUG
$ sleep 2

real    0m2.010s
user    0m0.000s
sys     0m0.000s
$ trap - DEBUG         # turn it off, this still prints the 'time' output

trapしかし、ここでトリッキーな部分は、またはそれ自体のような組み込み関数にも影響を与えるため、これにいくつかshoptの例外を追加したい場合がありcd somedirますproxychains cd somedir。これは、内部機能などから始まるすべてに影響を与えます。おそらく、この機能がproxychains必要であることが知られているコマンドにのみこの機能を使用できるようにする方が良いでしょう。

答え2

現在のセッションのエイリアスを作成するだけです。

alias nmap="proxychains nmap"

nmapを作成するたびに「proxychains nmap」を作成します。次の方法でドラッグできます。

unalias nmap

これを管理するためにシェルスクリプトを作成することもできます。これをbashrcに追加します。

function prefix {
if [ $2 != "with" ]; then
    echo "You have to prefix something with something"
    return
fi
echo "alias $1 = $3 $1"

alias $1="$3 $1"
}
function unprefix {
    alias $(alias $1 | sed "s/=.\b.*\b /='/g")
}

だからあなたはこれを行うことができます:

prefix nmap with proxychains
unprefix nmap

関連情報