Linuxのネットワーキング・ツールのnetcat(NC)アプリケーション

netcatを

netcatをあなたがスクリプト内のさまざまな方法でそれを使用することができ、それは他のツールとのリダイレクションと組み合わせることで、TCPおよびUDPを介してネットワーク内のデータを読み書きすることができ、Linuxの一般的なネットワークツールの1つです。

行われるのnetcatは、私たちは、友人とのチャットメディアストリーミング伝送またはスタンドアロンクライアントの他のプロトコルとしてそれを使用し、サーバー、ファイル転送を構築することができる2台のコンピュータと2つのデータストリームのリターンとの間のリンクを確立することです。

準備:

1)まず、の2台のLinux仮想マシンを開いてみましょう(同じLANには、VMware仮想マシンのネットワークがモードを選択することができますブリッジされている)コースのnetcatのも、ウィンドウ内のアプリケーションは、今、私たちはLinuxのみの場合を考えてみました

2)ファイアウォールをオフにして、root権限を使用します

  例えば、コマンド入力systemctl停止firewalld.serviceをcentos7します

3)IPアドレスを表示するには、コマンドifconfigを入力します。  


我々はに接続するために、実際には、これらのマシンのいずれかがリスニングポートを開き、別のポートを二台のマシン上でNCを使用しているので、ビルドサーバーとクライアントがあるだろう、簡単な紹介を行うためにコマンドNCたち

私たちは、シェルでのNC -hを入力することができ、そのパラメータが何を持って見ることができます

最も一般的な話の数を下回らないであろう多くのコマンドがあります。

  1)私たちは通常、NC -lp 333 333ポートを使用して、別のポートを選択することができます単なる一例であるとして使うサービスポートを開きます。

  2)サーバのポートの使用、例えば、192.168.0.115 NC -nv 192.168.0.115 333ターゲットがターゲットIPであることを特徴とする請求333個の、IPポートを開きます

  関連する命令を実行する場合3)、例えば、我々が追加できる-q 1は、接続を閉じるコマンドの後にコマンドの終了後1秒実現しました

接続は関係なく、たとえば、サーバーがクライアントにファイルを転送することができますどのようなアクションのフォローアップ、サーバとクライアントをすることができ、双方向ではないことに注意してください、同じクライアントは、サーバにファイルを転送することができます


 

テキストメッセージの送信

当社は、下記のチャットのデモとしてNC送信テキスト情報を使用することができます

最初の2機のIPが確認されました

私たちは、ポートが左側にマシンを使用してサーバのようにコマンドを入力してください開きます。

[ルート@のbogonのchenyuhong]#NC -lp 333

コマンドを入力し、マシンに接続するには、マシンの右側を左:

Ksha @ルート:-NV NC〜#192.1680.115  333 
(UNKNOWN)[ 192.1680.115 ] 333(?)オープン

今、私たちは、Enterキーを入力してシェルで直接情報の簡単な交換を実現することができます


 

転送ファイルとディレクトリ

あなたは我々はそれがNCと連動して行うことができますリダイレクトするために使用することができますコースのファイルを転送することができるように、我々は、テキストメッセージを送信することができます

例えば、我々はファイルのMP4を転送します 

1)クライアントへのサーバーは、ファイルを転送します

Serverコマンド:

[ルート@ bogonのmvmp4]#のNC - LP  333 < 1つの.mp4

クライアントのコマンド:

Ksha @ルート:〜/デスクトップ/ NC -nvテスト#192.1680.115  333 > 1の.mp4 -p 1

その後、我々は、ファイルを介して転送されてきた見つけるクライアントフォルダを開きます 

2)サーバへのクライアントは、ファイルを転送するには

このステップでは、上の2つのコマンドを交換する必要がありますが、繰り返さないで後に次は、さまざまな操作の真実であると言うことができます実際には、単にリダイレクト記号であります

 

だから我々はそれを、フォルダ(ディレクトリ)を運ぶんか

私たちは、最初のアーカイブフォルダを負わせ、その後、他をして、解凍され梱包と開梱コマンドを使用することができます

クライアント転送ディレクトリにサーバー

Serverコマンド:

[root@bogon 下载]# tar -cvf - mvmp4/  | nc -lp 333
mvmp4/
mvmp4/1.mp4
mvmp4/test.py

客户端命令:

root@Ksha:~/桌面/test# nc  192.168.0.115 333 | tar -xvf -
mvmp4/
mvmp4/1.mp4
mvmp4/test.py

注意:注意命令中的空格

然后发现文件夹已经传输过来了

我们还可以配合加密命令以及管道来进行加密传输 可以自己多尝试


 

流媒体服务

我们甚至可以使用nc来做一个流媒体服务器

服务端:

[root@bogon mvmp4]# cat 1.mp4 | nc -lp 333

客户端:

root@Ksha:~/桌面/test# nc -nv 192.168.0.115 333 | mplayer -vo x11 -cache 3000 -

3000是缓存大小  mplayer播放器需要自己安装在系统种

效果


 

端口扫描

是的 nc甚至可以用来端口扫描,不过我们也知道端口扫描都不是百分百准确的所以我们只用来参考就好

扫描器端:使用命令 nc -nvz ip地址 端口范围

root@Ksha:~/桌面/test# nc -nvz 192.168.0.115 1-65535
(UNKNOWN) [192.168.0.115] 6000 (x11) open
(UNKNOWN) [192.168.0.115] 111 (sunrpc) open
(UNKNOWN) [192.168.0.115] 22 (ssh) open

注意,此命令是扫描tcp 如果扫描udp 需要把命令变为  nc -nvzu

nc -nvzu 192.168.0.115 1-100


 

远程硬盘克隆

我们可以远程复制对方硬盘代码如下

被克隆方:

 dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1 

克隆方(接收方):

 nc -lp 333 | dd of=/dev/sda 

远程控制

 

我们还可以远程控制对方系统,即控制shell效果

被控制方代码:

[root@bogon mvmp4]# nc -lp 333 -c bash

控制方代码:

 
 

root@Ksha:~/桌面/test# nc -nv 192.168.0.115 333
(UNKNOWN) [192.168.0.115] 333 (?) open
ls
1.mp4
test.py

发现我们现在在窗口敲得命令已经是对方的反馈了 同样的我们上面讲过服务是双向的  所以也可以让监听端口方控制连接端口方 只需要把 -c bash换下位置即可如下图

如上所述,netcat配合命令重定向可以完成的事情简直不要太多 熟悉掌握nc对于网络学习有很大用处

 

おすすめ

転載: www.cnblogs.com/CYHISTW/p/11302382.html