今早用netcat、telnet玩了一下ftp protocol
還有它的FXP功能,就是可以讓ftp server和
另一台server之間對傳的功能,真是有趣
不過找了ftp.adsl.hinet.net和linux.sinica.edu.tw
中研院的ftp,兩台之間傳起來怎麼好像很慢?
還有我的linux架在NAT底下,我已經在NAT上開了Port
對應到內部用虛擬ip的linux,我用nc開了一個2561的port
結果沒有辦法用ftp功能的PORT模式讓ftp server主動透過這個port
傳資料給我,這倒很奇怪,可以傳給其它用public ip的開nc的linux
而且那台開nc的LINUX也可以透過該我NAT的public ip/port來和我
內部區網的linux連線,唯獨沒辦法讓ftp server用該public ip/port
來和我區網的linux連線....
FXP....
telnet linux.sinica.edu.tw 21 telnet ftp.adsl.hinet.net 21
USER anonymous USER anonymous
PASS kkk@yahoo.com PASS kkk@yahoo.com
CWD /fedora/..../ CWD /uploads/
1.PASV
(先取得server開的socket)
2.PORT (a,b,c,d,x,y)
填入剛剛打PASV所得到的socket訊息
(哪一台server為主動其實都可以)
3.STOR abc_ddd.iso
(要建檔啦,server已進入接收模式)
4.RETR boot.iso
(要取得檔案啦,server已進入傳送了)
......不曉得為什麼這兩台之間的連線速率有夠慢
好像data connection的資料傳太久會導致
control connection的idle過久而中斷....
================================================================
用public ip的A電腦用nc開一個2561的port
再用telnet連到ftp server後再下PORT (a,b,c,d,10,1)
的指令即可,然後再下LIST可以將目錄傳到A電腦.
不過如果A電腦用private ip在分享器底下怎麼不行???我已經開port對應了呀...
而且透過Internet上用public ip的B電腦也可以連進用private ip的A電腦中
答案目前無解......
註:FXP要小心 FTP bounce attack,有機會用ftp主機來掃內網的port.