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.168。0.115 333 (UNKNOWN)[ 192.168。0.115 ] 333(?)オープン
今、私たちは、Enterキーを入力してシェルで直接情報の簡単な交換を実現することができます
転送ファイルとディレクトリ
あなたは我々はそれがNCと連動して行うことができますリダイレクトするために使用することができますコースのファイルを転送することができるように、我々は、テキストメッセージを送信することができます
例えば、我々はファイルのMP4を転送します
1)クライアントへのサーバーは、ファイルを転送します
Serverコマンド:
[ルート@ bogonのmvmp4]#のNC - LP 333 < 1つの.mp4
クライアントのコマンド:
Ksha @ルート:〜/デスクトップ/ NC -nvテスト#192.168。0.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对于网络学习有很大用处