fslashtの日記: PPPH 6
日記 by
fslasht
STATUS: 故障中
というツールを昔socketの練習がてら作りました。
名称はPinPointPeepingHoleの略です(無理やり過ぎ)。
指定ポートで受け取ったパケットを指定のIPアドレス/ポートに転送するというありがちなやつです。無理やり何かやるときに便利です。
なんか標準でインストールされているコマンドで出来そうな気がしますが、短いコードなのでその場で改造して機能を追加できるのがよいかと自画自賛中です。
開発にあたっては、下記のページを参考にしました(というかかなりそのまんま)。
小俣光之:コンピューターのページ(C言語講座)
● ダウンロード
ソース(ppph.cpp)
※ cc -o ppph ppph.cpp でコンパイルします。
※ FreeBSD,Solarisではちょっといじらないとコンパイル通りませんでした(もう忘れた)
バイナリ(ppph) ※ Linux用
● 使い方
LinuxなどUnix系OSのコマンドラインで実行します。
書式:
ppph <RECVPORT> <TGTADR> <TGTPORT>
パラメータ:
<RECVPORT> 受信するポート番号
<TGTADR> 転送先のIPアドレス
<TGTPORT> 転送先のポート番号
使用例:
1) ppph 8080 www.hogehoge.com 80
ポート8080へのアクセスをwww.hogehoge.comのポート80に転送します。
2) ppph 22 localhost 1234
ポート22へのアクセスをローカルのポート1234に転送します。
1get (スコア:1)
なつかしツールをまた掘り起こしましたね。
あっしは、似たようなことはsshをつかってやってるヘタレです。
生きててすみません。
なんか、前にもらったソース、紛失したので、ちょっとラッキー。
参考ページ、bookmarkしときました。いい勉強になりそう。
# 関係ないけど、あっしも日記書こうかしら。
# ネタもなく根性もないので、三日坊主な予感するけど。
安易なAC発言反対運動中
Re:1get (スコア:1)
# 日記書こうよ。年に1回くらい更新すれば十分だから(ぉ
# はてなにも日記書くときは、転記スクリプト [srad.jp]使ってみてね(宣伝)
MacOSXでコンパイル (スコア:1)
ppph.cpp: In function `void Serv()':
ppph.cpp:228: error: non-lvalue in unary `&'
というエラーが...
gccでも同じエラーか。
私の力ではこれ以上はダメポです。
-- ラテール部参加者募集中
Re:MacOSXでコンパイル (スコア:1)
とおもってFreeBSDな某レンタルサーバでコンパイルしたら通ってしまった。あらら。実行も出来ました。悪いことし放題(ぉ
【某サーバのバージョン】
%uname -a
FreeBSD www244.sakura.ne.jp 4.10-RELEASE-p2 FreeBSD 4.10-RELEASE-p2 #0: Sun Aug 8 10:53:03 JST 2004 root@www244.sakura.ne.jp:/usr/src/sys/compile/SAKURA8 i386
%gcc --version
2.95.4
Re:MacOSXでコンパイル (スコア:0)
228: s/(socklen_t)//
Re:MacOSXでコンパイル (スコア:1)