netcatで各種転送(図解)
4589 ワード
凡例
- i: stdin
- o: stdout
- si: socket in
- so: socket out
nc は i を so に、si を o に繋げる。
ポートフォワーディング
client:1111 と server:2222 を繋げる。
client
mkfifo fifo
<fifo nc -l 1111 | nc server 2222 >fifo
while ... done を付けると、1度のコネクションで終了しない。
実行例
以下の順番通りに実行する必要がある。
server
python3 -m http.server 2222
Serving HTTP on 0.0.0.0 port 2222 (http://0.0.0.0:2222/) ...
11.11.11.11 - - [23/Jun/2021 04:18:07] "GET / HTTP/1.1" 200 -
client
rm -f fifo && mkfifo fifo && while true; do <fifo nc -l 1111 | nc server 2222 >fifo; done
client
curl localhost:1111
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Directory listing for /</title>
</head>
<body>
<h1>Directory listing for /</h1>
<hr>
<ul>
<li><a href="fifo">fifo</a></li>
</ul>
<hr>
</body>
</html>
client同士を接続
client1 と client2 を server を介して接続。
server
mkfifo fifo
<fifo nc -l 1111 | nc -l 2222 >fifo
実行例
server を最初に実行する必要がある。それ以外は順不同。
server
rm -f fifo && mkfifo fifo && while true; do <fifo nc -l 1111 | nc -l 2222 >fifo; done
client1
nc server 1111
client2
nc server 2222
Author And Source
この問題について(netcatで各種転送(図解)), 我々は、より多くの情報をここで見つけました https://qiita.com/yabeenico/items/c1a1c7c20bdf6a63526d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .