- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 障害メモ/FTPClientでstoreFileできない へ行く。
- 1 (2015-09-01 (火) 08:48:52)
キーワード†
- FTPClient
- PASV
- パッシブモード
現象†
FTPClientでFTP/putできない。環境は、ファイアウォールの都合上パッシブモードでしか送信できない。
エラーになるのは次のコード。
client.storeFile(remote, local)
原因†
次のコードでパッシブモードにしたつもりだができていない。
client.pasv()
対策†
こうすべきだったようです。
client.enterLocalPassiveMode()
備考†
tcpdumpすると確かにPORTコマンドを発行してるようでした。(というかPASVもdenyされてたんだけど)
# tcpdump -i lo -A port ftp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on lo, link-type EN10MB (Ethernet), capture size 96 bytes
client → server
<%.x<%.xPASV
client ← server あれ?
<%.x<%.x550 Permission denied.
client → server
<%.y<%.xTYPE I
client ← server
<%.y<%.y200 Switching to Binary mode.
client → server ここです!
<%.y<%.yPORT 127,0,0,1,231,155
client ← server 受け入れられてしまった!
<%.y<%.y200 PORT command successful. C
client → server アクティブモード?
<%.y<%.ySTOR /path/to/file