問題タブ [passive-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - FTPを受け入れないパッシブソケット
ftpサーバーを作成していますが、filezillaで接続しようとすると、サーバーがパッシブソケットでの接続を受け入れていません。受諾呼び出しでハングします。これが私のコードの一部です:
if ((server->pasv_sock = accept(server->sockt, (struct sockaddr*)&sin_clt,
(socklen_t*)&size_sin) == -1))
私のソケットは特定のポートにバインドされており、クライアントはこのポートに接続しようとします。Telnetも接続していません。
あなたが私が何が悪いのかを見つけるのを手伝ってくれるなら、ありがとう:)
sockets - ソケット プログラミングによる Azure Worker ロールでのパッシブ FTP
Filezilla のような FTP クライアントを介してワーカー ロールに接続し、azure BLOB ストレージにアクセスできるように、ポート 21 に入力エンドポイントを持つ Azure ワーカー ロールをデプロイして、着信 FTP 接続を受け入れることができるようにする必要があります。
このため、LIST、RETR、STOR、PORT、USER、PASS などの FTP コマンドを実装することができました。これらはすべて、FTP のアクティブ モードで正常に動作します。
しかし、FTP のパッシブ モードに切り替えると (Azure Worker ロールに対して PASV コマンドを実行する)、問題が見つかります。私は Azure の初心者なので、問題を追跡することはできません.ワーカー ロールはロード バランサーを超えているため、パッシブ モードには構成が必要です。FTP 用の Web ロールの手動構成について説明しているブログはほとんど見ませんでした。ロールがどの VM マシンにデプロイされるかがわからないため、構成をどのように処理できますか
私が試した方法:
1.Azure ワーカー ロールで、次のエンド ポイントを設定します。
FTP 入力 TCP 21
Endpoint1 入力 tcp 1025
最初はStart()で、このコードをオンラインにしました
TcpListener サーバー = SocketHelpers.CreateTcpListener(RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["FTP"].IPEndpoint);
そしてPASVモードでは、次のことがありました
TcpListener サーバー = SocketHelpers.CreateTcpListener(RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Endpoint1"].IPEndpoint); 新しいポート1025で開き、クライアントに送り返すようにします。クライアントに送り返すと、次のような例外が発生しました:
SocketErrorCode は 10053 であり、SocketErrorDesc:System.Net.Sockets.SocketError.ConnectionAborthed です。
トランスポート接続にデータを書き込めません: 確立された接続が、ホスト マシンのソフトウェアによって中止されました。
2. http://checkip.dyndns.org/を使用して外部 IP アドレスを取得する別の方法。ここから IP アドレスを取得する場合、RoleEnvironment.CurrentRoleInstance.InstanceEndpoints[" Endpoint1"].IPEndpoint を使用してコードからポートを取得する必要がありますか? ???
本当に私は Azure のものと FTP の構成で本当に混乱しています。
次の記事を読みましたが、パッシブ モードで動作するようにプログラムでワーカー ロールを構成する方法 (ポート範囲の設定、コードからの取得) を見つけることができませんでした。
http://www.itq.nl/blogs/post/Walkthrough-Hosting-FTP-on-IIS-75-in-Windows-Azure-VM.aspx http://angelolaris.blogspot.com/
よろしく、 Vivek
ftp - パッシブ ftp ポート管理
ソフトウェアでパッシブ ftp を使用して、顧客がソフトウェア アップデートをダウンロードできるようにしています。ftp へのリクエスト(アップデートのダウンロード用)が非常に多い場合、パッシブ ftp ポートですべてのリクエストを管理できるのではないかと疑っています。 ?
ftp - パッシブFTP接続
単一ポートのパッシブFTPでは、いくつの接続を確立できますか?または1つのポートで一度に何人のユーザーを接続できますか?
ftp - PureFtpd パッシブ ポート範囲がリスニング アドレスをクライアントに配信しない
ファイアウォールの背後にある pureftpd を構成して、パッシブ ftp/TLS サーバーとして機能させようとしています。演技マシン:
- サーバー: 192.168.3.220 (内部ネットワーク、192.168.3.1 のルーターへのデフォルト ルート) 構成: PassivePorts 64000 64300 の pureftpd、MasqueradeAddress ww.xx.yy.zz (これはルーターで構成されています)
- ルーター: 内部: 192.168.3.1、DNAT ルール (PREROUTING チェーン) ww.xx.yy.zz tcp/21,64000:64300 アドレス 192.168.3.220 に NATed、FORWARD チェーンはこれらのパケットを両方向で受け入れます。
- Client1: 固定パブリック IP を持つ外部サーバー
- Client2: どこかで NAT されたマシン - 192.168.5.x ネットワーク上
シナリオ 1:
興味深いことに、サーバーからの 227 は、pureftpd からのパラノイド ログに表示されますが、クライアントには表示されません - プライベートに設定された 200 保護のみ ... cca 30 秒待機し、ACTIVE(!!) モードを使用して再接続します -> ls
シナリオ 2 :
...
NAT マシンの iptables は、ポート 64000:64300 のアカウンティング カウンターを増加させないため、パッシブ接続はまったく確立されていないと予想されます。
windows - バッチ スクリプトを使用したパッシブ FTP 接続
ファイルを FTP サーバーにアップロードするバッチ スクリプトを作成しました。正常に動作しますが、FTP サーバーへのパッシブ接続を確立したかったのです。
ほとんどの記事では、コマンド ライン FTP.exe にはこの機能がないと書かれていますが、あるブログでは、使用QUOTE PASV
すると ftp クライアントがパッシブ モードで動作するように設定されると書かれています。
そのコマンドを使用してスクリプトを実行すると、パッシブ モードに入るというメッセージが表示され、ファイルをアップロードできました。
誰かがこの情報を確認できますか?
ありがとう
scripting - WinSCPコマンドラインパッシブモード
コマンドラインからWinSCPを呼び出していますが、スクリプトにパッシブモードを正しく設定する方法がわかりません。
スクリプトは次のとおりです。
c# - ファイルを取得するときのFtpException
ftp接続を正常に確立していて、FTPサーバーからファイルを取得したいと思っています。
これは私のコードです:
ここで、ftpはFtpConnectionです。
そして、他のすべてのファイルについてはうまくいきました。さて、初めてそれを手に入れましたが、例外メッセージは私にはまったくわかりません。ここにあります:
200タイプをIに設定
227パッシブモードに入る(93,186,176,75,78,64)。
21321846
これは何を意味するのでしょうか?
c# - .Net ftpクラスとパッシブモードc#の使用について
.Netにはftp関連のクラスがあることは誰もが知っています。私はよく、人々が常にftpのいくつかのプロパティを使用するのを見てきました。
&の意味KeepAlive
を教えてもらえますか?UseBinary
UsePassive
上記のプロパティにtrueまたはfalseを設定するとどうなりますか。具体的には、UsePassiveプロパティの使用法または意味を教えてください。
ある人がパッシブモードについて簡単に説明します:-
UsePassive:
クライアントアプリケーションのデータ転送プロセスがデータポートで接続をリッスンする場合はfalse。それ以外の場合、クライアントがデータポートで接続を開始する必要がある場合はtrue。デフォルト値はtrueです
上記の答えは私にはあまり明確ではありません。だから誰でもパッシブモードについてもっと詳しく説明することができます....ありがとう
windows - FTP クライアントの Filezilla と Ftpuse は機能しますが、Windows エクスプローラーは PASV モードを使用できません
.NET 4.0 を使用してカスタム FTP サーバーを作成しました。クライアントとサーバーの両方を同じ Windows 7 マシンで実行していますが、ファイアウォールは完全に無効になっています。FileZilla と FtpUse の両方を使用して接続し、PASV モードを確立して、フォルダの内容を問題なく参照できます。Windows Explorer 経由で接続しようとすると、問題が発生します。正常にログインできますが、Explorer が PASV コマンドを送信すると (以下のクライアント/サーバー交換を参照)、Explorer は「FTP フォルダー エラー」というメッセージ ボックスをポップアップ表示します。そのフォルダにアクセスする権限があります。」以下の詳細は、サーバーから受信した最後の 2 つの応答です。これを見つけました ( http://support.microsoft.com/kb/2754804/en-us)更新してインストールしましたが、役に立ちませんでした。誰でもこれが何であるか考えていますか? PASVコマンドのレスポンスを返す前にTCPリスナを開いているので、タイミングの問題ではないと思います。