タグ付けされた質問 「netcat」

Netcatは、TCPまたはUDPを使用してネットワーク接続を読み書きするためのコンピューターネットワークサービスです。

4
netcatは、UDPポートが開いているかどうかをどのように知るのですか?
したがって、このnetcatコマンドを使用して、UDPポートが開いているかどうかを確認できます。 $ nc -vz -u 10.1.0.100 53 Connection to 10.1.0.100 53 port [udp/domain] succeeded! TCPとは異なり、UDPはコネクションレスです(ファイアアンドフォーゲット)。だから、高レベルでは、netcatがUDPポートが開いていることをどのように知っているのか誰も知っていますか?返信などを求めますか?
49 netcat  udp 

4
16進文字列をバイナリに変換し、netcatで送信します
私は一緒に送信できるバイナリファイルを持っていますnetcat: $ nc -l localhost 8181 < my.dat ファイルにはこれが含まれています。 $ xxd my.dat 0000000: 0006 3030 3030 4e43 ..0000NC 私が本当にやりたいのは、16進文字列を直接送信することです。私はこれを試しました: $ echo '0006303030304e43' | nc -l localhost 8181 ただし、上記のコマンドは単にascii文字列をに直接送信しncます。
46 linux  binary  netcat 

4
nc listenの代わりに/ dev / tcp listen
次のようなnetcatリスナーを使用します。 nc -l <port> < ~/.bashrc 新しいマシンで.bashrcを取得できます(ncLDAP がありません)。 cat < /dev/tcp/<ip>/<port> > ~/.bashrc 私の質問はnc -l <port>、私の最初の行の機能を/ dev / tcpの代わりに模倣する方法はありncますか? 私が取り組んでいるマシンは、非常に強化されたラボ/サンドボックス環境RHEL(ssh、nc、LDAP、yum、新しいソフトウェアをインストールできず、インターネットに接続されていません)

2
ncat、nc、netcatの違いは何ですか?
私は、どのような場合に使用するについてはよく分からないnc、netcatまたはncat。あるバージョンが別のバージョンの非推奨バージョンである場合は?1つのディストリビューションでのみ使用可能な場合 同じコマンドですが、名前が異なる場合は? 実際、私は少し混乱しています。私の質問は、2台のCentOS 7サーバー間でネットワーク速度テストを行いたいということから来ています。またはを使用ncしているddが、多くは使用していないいくつかの例に出くわした。netcatncat 誰かが私のためにこれを明確にすることができますか?
20 centos  netcat  nc 

1
ncでホストへのルートはありませんが、pingできます
ある仮想マシンから別の仮想マシンにnetcatでポート25に接続しようとしてno route to hostいますが、pingはできますが、それは私に言っています。ファイアウォールのデフォルトポリシーをドロップするように設定していますが、その特定のサブネット上のポート25のトラフィックを受け入れる例外があります。ポート25でVM 3からVM 2にncで接続できますが、VM 2から3には接続できません。 VM2のファイアウォールルールのプレビューを次に示します VM 3のファイアウォールルールのプレビューを次に示します リスニングサービスを表示*:25すると、すべてのipv4 ipアドレスと:::25ipv6アドレスをリッスンしていることになります。エラーがどこにあるのか、なぜ機能していないのかがわかりません。両方のファイアウォールルールがポート25のトラフィックを受け入れるため、接続されているはずです。両方の違いを比較して、なぜvm3からvm2に接続できるのかを確認しようとしましたが、構成はすべて同じです。何が問題になる可能性がありますか? 更新してiptableサービスを停止すると問題は解決しますが、それらのルールが存在する必要があります。

3
UDPパケットを作成するにはどうすればよいですか?
次のNetcatコマンドを実行してWiresharkでパケットを表示すると、UDPパケットが不正な形式であると表示されます。 $ echo "this is a test" | nc -u 127.0.0.1 53 同様に、$ echo "this is a test" > /dev/udp/127.0.0.1/53Wiresharkで「不正なパケット」エラーを生成するようなコマンドを使用すると。 echoコマンドは、エラーなしでNetcatサーバーに送信/配信されます。しかし、これは私に不思議に思いました:エコーまたは他のネイティブUnixツールで適切なUDPパケットを手動で構築することは可能ですか? DebianとmacOSを使用しています。
15 linux  debian  osx  netcat  udp 

3
TCP接続にin / out名前付きパイプを使用する
私はこれをしばらくの間機能させることに悩んでいたので、パイプがどのように機能するかについての根本的な誤解が私のトラブルの根本原因であると考えています。 私の目標は、リモートホストへのTCP接続を開始netcatし、ファイルシステム上に2つの名前付きパイプを作成することです。1つはプロセスから読み取りデータを取得し、もう1つはプロセスが送信データとして書き込むことができます。現在、次の構成を使用しています。 mkfifo in mkfifo out cat out | netcat foo.bar.org 4000 > in & ここから、他のプロセスがこのオープンTCP接続との間で読み書きできるようにしたいと思います。これは「うまくいく」のでしょうか、それともこのような構成が機能しない理由がありますか? 現在何が起こっているように見えるかはout問題なく読むことができるが、私が書いたときin、壊れたパイプを言及する出力が得られ、その後のすべての通信は死んでいるように見える。考え? (関連:私はもともと使用しました: netcat foo.bar.org 4000 < out > in & しかし、入力待ちをブロックすることがわかりました。私もこれに興味がありますが、おそらく別の質問で対処した方が良いでしょう。)
15 bash  pipe  tcp  netcat 

1
ポート転送にnetcatを使用する
私は、リッスンするプロセスを持っていますIP:port-実際には、ソケットに接続するのはスパークストリーミングです。問題は、あるポートでスパークに接続し、別のポートからこのサーバーにデータがストリーミングされるサーバーを何らかの形で作成したいということです。 たとえば、スパークストリーミングの例では、netcatユーティリティを使用します(例:)nc -lk 5005。ただし、着信メッセージをリッスンしてからメッセージを送信する別のサービスがあります。そのため、サービスAからのメッセージをリッスンし、sparkに渡すことができるサーバーが必要です。 私のサービスAは、ソケットに依存しています。そして、私のスパーク消費者はソケットに依存しています。 これまでにポートからポートへの転送を行っていますが、これは機能していないようです: nc -X 4 -x 127.0.0.1:5005 localhost 5006 サービスA:5005->ソケット-> 5006-> Spark この作品を作る正しい方法を見つけることができないようです。 いくつかの回答から次のことが示唆されています。 socat tcp-l:5005,fork,reuseaddr tcp:127.0.0.1:5006 私のスパークソケットレシーバーは接続しないか、接続できないようです。エラーが表示されます:Error connecting to 127.0.0.1:5006 - java.net.ConnectException: Connection refused
14 linux  networking  netcat  nc 

5
ネットワーク経由でファイルを送信する最も簡単な方法
ネットワークを介して他のコンピューターにファイルを送信する最も簡単で汎用性の高い方法は何ですか?つまり、他の人が現在使用しているコンピューターを意味します。コンピューターでアクティブなセッションが開いている場合、SSHが機能するとは思わない。 これまでのところnetcat、を使用しています。しかし、これを行う他の簡単な方法はありますか?私が抱えている1つの問題netcatは、受信者がファイルの終わりを知る必要があり、ストリームの名前を考え出す必要があるということです。

2
TeamViewerに代わるSSHリバーストンネルを介したリモートデスクトップ
SSH(リバース)トンネルを介してラップトップからデスクトップへのリモートデスクトップセッションを開きたい。それはシンプル(または少なくとも実行可能)である必要がありますか?これまで、私はTeam Viewerを使用してリモートデスクトップにログインしていました。Team Viewerなしで同様の結果を達成したいと思います。 SSHトンネルは次のようになります。 laptop--->nat--->middleman<--nat<--desktop すべてのマシンでLinuxが実行されています(主にKubuntu 12.04またはOpenSuse 12.3)。natルーターでポートを変更したり、構成を変更したりすることはできません。 SSHトンネルについて説明します。これは、私の質問の核心であるVNC /リモートデスクトップの問題を解決するために必要であると思われるためです。この脚について: middleman<--nat<--desktop ...それがどのように確立されているか: autossh -M 5234 -N -f -R 1234:localhost:22 user@middleman.com この脚について: laptop--->nat--->middleman 次のようにして仲介者に接続できます。 me@laptop:~$ ssh -i ~/.ssh/id_rsa admin@middleman ただし、実際に行う必要があるのは、仲介者ではなくデスクトップに直接接続することです。そのためには、仲介業者でnetcat( "nc")を使用します。基づいて、このことは、NCが必要であると表示されます。そこで、ProxyCommandとncを使用するようにラップトップでSSH構成ファイルを編集します。 me@laptop:~/.ssh$ nano config 内容は次のとおりです。 Host family_desktops ProxyCommand ssh middleman_fqdn nc localhost %p User admin PasswordAuthentication no IdentityFile ~/.ssh/my_id_rsa middleman_fqdn「middleman.com」のような場所 次に、1つのステップで「デスクトップ」に接続します。 …

1
ProxyCommandを使用してSSHの速度が大幅に向上しましたが、なぜですか?
TL; DRバージョン このASCIIキャストまたはこのビデオをご覧ください。次に、これが発生する理由を考えてください。次のテキスト説明は、より多くのコンテキストを提供します。 セットアップの詳細 マシン1はArch Linuxラップトップであり、その上にsshArmbian実行SBC(オレンジPIゼロ)に接続されます。 SBC自体はイーサネット経由でDSLルーターに接続され、192.168.1.150のIPを持っています ラップトップはWiFi経由でルーターに接続されます-公式のRaspberry PI WiFiドングルを使用します。 イーサネット経由でDSLルーターに接続された別のラップトップ(マシン2)もあります。 iperf3によるリンクのベンチマーク でベンチマークするとiperf3、ラップトップとSBC間のリンクは理論上の56 MBits / sec未満です。これは、非常に「混雑した2.4GHz」(アパート)内のWiFi接続であるためです。 具体的iperf3 -sには、SBCで実行した後、ラップトップで次のコマンドが実行されます。 # iperf3 -c 192.168.1.150 Connecting to host 192.168.1.150, port 5201 [ 5] local 192.168.1.89 port 57954 connected to 192.168.1.150 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec …
14 ssh  networking  netcat 

1
nmap-ncatのgnu-netcatの '-z'と同等のオプションは何ですか?
これを使用してスクリプトを実行する前に、サービスのリスニングポートを確認します。 until nc -z $HOST $PORT do echo "waiting for service to be available..." sleep 0.5 done exec "/my/script" 以前はgnu-netcatで動作していましたが、今ではLinuxディストリビューションをアップグレードし、/usr/bin/ncコマンドにnmap-ncatを使用しています。 nmap-ncatパッケージで使用する同等のソリューションを知りたい。
13 netcat  nmap 

2
Netcat-IPv6アドレスを使用してTCPポートでリッスンする方法
私は最新バージョンのnetcat(v1.10-41.1)を使用していますが、これにはIPv6アドレスのオプションがないようです(-6以前のバージョンのようにnc)。 入力してnc -lvnp 2222でリッスンポートをチェックするnetstat -puntaと、サーバーはポート2222でIPv4アドレスのみをリッスンしているように見えます。 tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 2839/nc tcp6は、例えば私のapache2サーバーのようにアクティブではありません: tcp6 0 0 :::80 :::* LISTEN -
13 linux  netcat 

1
無効な接続を与えるシェルスクリプトのnetcat
Webリクエストをポート1111でnetcatリッスンするためlocalhostに使用するシェルスクリプトがあります。localhost:1111/index.htmlたとえば、アクセスしようとするたびに、次のようになります。 invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038 最後の数字(60038)は、アクセスするたびに増加しているようですlocalhost。 何が間違っているのかについての提案はありますか?そして、default localhostディレクトリは何ですか?index.htmlそれlocalhost:1111/index.htmlが機能するようにどこに置くべきですか? 編集 完全なスクリプトは次のとおりです。 #!/bin/sh while true do netcat -vvl localhost -p 1111 -c ' set -x read http_request echo HTTP/1.0 200 OK echo echo "Received HTTP request: $http_request" ' done

7
netcat出力をgrepする方法
からライブテキストストリームをgrepしようとしていますnetcatが、うまくいきません。 netcat localhost 9090 | grep sender 何も返さないが、そうするべきだと私は確信している。 netcat出力をファイルにリダイレクトし、遅延を追加した場合(実際の環境をシミュレート)-機能します。 $ (sleep 5; cat netcat_output; sleep 5) | grep sender {"jsonrpc":"2.0","method":"GUI.OnScreensaverDeactivated","params":{"data": "shuttingdown":false},"sender":"xbmc"}} 追加も試みました--line-bufferedが、成功しませんでした。 私は何を間違っていますか? 編集: 同じ問題に気づきましたsed、出力が空です。 しかし、たとえば、hexdumpテキストを16進ライブに変換します。 $ netcat localhost 9090 | hexdump -C 00000000 7b 22 6a 73 6f 6e 72 70 63 22 3a 22 32 2e 30 22 …
13 grep  netcat 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.