Web Hosting Forum - Hosting Reviews, Web Hosting Discussion ForumCalendarContact Us

Welcome to the Web Hosting Forum - Hosting Reviews, Web Hosting Discussion Forum forums.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content etc.

By registering you have access to many other special features, Like personal blogs, your own personal forum, extended profiles, posting of your resume, free links, photo galleries, auctions etc. We are Web 2.0 Compliant .

We also reward our posters and referals with free hosting, domains, prizes etc. Even earn points for reading posts. We offer contests, and events that are sure to please anyone in the hosting industry, web developer or SEO at heart.

Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact us.

Go Back   Web Hosting Forum - Hosting Reviews, Web Hosting Discussion Forum > DataCenter Issues > Communications > IPV6 Network

IPV6 Network Working with the new ipv6 protocol

Reply
 
LinkBack Thread Tools
  #1 (permalink)  
Old 01-01-2007, 04:18 PM
=?Utf-8?B?SWdvclJfdXM=?=
 
Posts: n/a
Windows FTP client is not compatible with RFC2428 when uses IPv6

I have a weird situation when I try to use a standard FTP client on my
Windows XP or Vista (beta2) computers connecting to non-windows ftp server.
The client is able to login to the ftp server, but any command that requires
to access the files (ls, get,...) fails.
The sniffer comes out with the strange result. I can see that the client
sends the request to ftp as follows:
ERPT |2|fec0::7:206:5bff:fee7:5e4d%2|1029|

the FTP server responds with the following:
500 'ERPT |2|fec0::7:206:5bff:fee7:5e4d%2|1029|' : command not ...

(you can see the same information if you simpli turn on a debug in FTP
client).

I started to experiment using the "literal" command where I was able to send
a little bit modified EPRT command and figured out that the FTP server does
not like the so called scope ID (%2) that windows FTP client includes into
the IPv6 address field in EPRT command.
I start searching the internet and found an RFC 2428 that describes the FTP
enhancements for IPv6 and the format for the new commands (eprt is among
them).
According to that document the IPv6 address field in EPRT command MUST
include only IPv6 address, without any scope ID.

On the other hand, Windows FTP client works normally with the Windows FTP
server. Looks like Windows FTP server simply strips this scope ID out and
that's it.

Does anybody know how to deal with that incompatibility problem?
Does Microsoft intentionally make Windows FTP client incompatible with the
industry standard (RFC2428) and as a result to all non-Windows FTP servers?






Reply With Quote
  #2 (permalink)  
Old 01-01-2007, 04:18 PM
De Kameel
 
Posts: n/a
Re: Windows FTP client is not compatible with RFC2428 when uses IPv6

IgorR_us wrote:
> I have a weird situation when I try to use a standard FTP client on my
> Windows XP or Vista (beta2) computers connecting to non-windows ftp server.


What kind of non-FTP server? Because I haven't got a problem when
connecting and GET-ing with my XP-FTP-client to ftp.belnet.be (which, I
guess, is not a Windows FTP server) and to ftp.fi.debian.org (which
very, very probably is not Windows). See below.

de Kameel


C:\>ftp ftp.fi.debian.org
Connected to ftp.fi.debian.org.
220 alppitorvi FTP server (Version 6.5/OpenBSD, linux port 0.3.2) ready.
User (ftp.fi.debian.org:(none)): ftp
331 Guest login ok, type your name as password.
Password:
230-
230- Welcome to trumpetti.atm.tut.fi (130.230.54.99 and 2001:708:310:54::2),
230- also known as ftp.fi.debian.org and rsync1.fi.gentoo.org.
230- We are located at Tampere University of Technology, Finland.
230- All services (http,ftp,rsync) support IPv6.
230-
230- The server is a dual P3 1GHz with 1Gb of memory and a gigabit
230- network connection.
230-
230- In case of questions, suggestions or problems, please contact
ice-mirror@cs
..tut.fi
230-
230 Guest login ok, access restrictions apply.
ftp> get pub/debian/README
200 EPRT command successful.
150 Opening ASCII mode data connection for 'pub/debian/README' (1057 bytes).
226 Transfer complete.
ftp: 1082 bytes received in 0,00Seconds 1082000,00Kbytes/sec.
ftp> bye
221 Goodbye.

C:\>

C:\>ftp ftp.belnet.be
Connected to niue.belnet.be.
220 ProFTPD 1.3.0 Server (BELNET FTPD Server)
[2001:6a8:3c80:0:203:baff:fe39:f93
1]
User (niue.belnet.be:(none)): ftp
331 Anonymous login ok, send your complete email address as your password.
Password:
230 Anonymous access granted, restrictions apply.
ftp> dir
200 EPRT command successful
150 Opening ASCII mode data connection for file list
lrw-r----- 1 ftp ftp 34 May 9 2005 FreeBSD ->
mirror/ftp.fre
ebsd.org/pub/FreeBSD
lrw-r----- 1 ftp ftp 28 Feb 3 2005 debian ->
mirror/ftp.debi
an.org/debian
lrw-r----- 1 ftp ftp 38 May 19 2005 debian-amd64 ->
mirrors/d
ebian-amd64.alioth.debian.org
lrw-r----- 1 ftp ftp 31 Feb 3 2005 debian-cd ->
mirror/ftp.d
ebian.org/debian-cd
lrw-r----- 1 ftp ftp 35 Feb 3 2005 debian-non-US ->
mirror/f
tp.debian.org/debian-non-US
-rw-r----- 1 ftp ftp 5393 Mar 23 2005 index.shtml
-rw-r----- 1 ftp ftp 2692 Feb 2 2005 index_old.shtml
drwxr-x--- 2 ftp ftp 1024 Mar 27 09:21 linux
drwxr-x--- 94 ftp ftp 3072 Apr 27 07:53 mirror
lrw-r----- 1 ftp ftp 6 Feb 3 2005 mirrors -> mirror
drwxr-x--- 2 ftp ftp 3072 Apr 27 07:53 packages
lrw-r----- 1 ftp ftp 1 Feb 3 2005 pub -> .
226 Transfer complete.
ftp: 987 bytes received in 0,42Seconds 2,34Kbytes/sec.
ftp> get index.shtml
200 EPRT command successful
150 Opening ASCII mode data connection for index.shtml (5393 bytes)
226 Transfer complete.
ftp: 5530 bytes received in 0,53Seconds 10,41Kbytes/sec.
ftp> bye
221 Goodbye.

C:\>


> The client is able to login to the ftp server, but any command that requires
> to access the files (ls, get,...) fails.
> The sniffer comes out with the strange result. I can see that the client
> sends the request to ftp as follows:
> ERPT |2|fec0::7:206:5bff:fee7:5e4d%2|1029|
>
> the FTP server responds with the following:
> 500 'ERPT |2|fec0::7:206:5bff:fee7:5e4d%2|1029|' : command not ...
>
> (you can see the same information if you simpli turn on a debug in FTP
> client).
>
> I started to experiment using the "literal" command where I was able to send
> a little bit modified EPRT command and figured out that the FTP server does
> not like the so called scope ID (%2) that windows FTP client includes into
> the IPv6 address field in EPRT command.
> I start searching the internet and found an RFC 2428 that describes the FTP
> enhancements for IPv6 and the format for the new commands (eprt is among
> them).
> According to that document the IPv6 address field in EPRT command MUST
> include only IPv6 address, without any scope ID.
>
> On the other hand, Windows FTP client works normally with the Windows FTP
> server. Looks like Windows FTP server simply strips this scope ID out and
> that's it.
>
> Does anybody know how to deal with that incompatibility problem?
> Does Microsoft intentionally make Windows FTP client incompatible with the
> industry standard (RFC2428) and as a result to all non-Windows FTP servers?
>
>
>
>
>
>

Reply With Quote
  #3 (permalink)  
Old 01-01-2007, 04:18 PM
=?Utf-8?B?SWdvclJfdXM=?=
 
Posts: n/a
Re: Windows FTP client is not compatible with RFC2428 when uses IP

I have tried with two non-Windows FTps. One of the is FTP server daemon that
goes with the Solaris 5.10, and another one is FreeBSD
I have no problem connecting to them from another solaris 5.10 host by ftp.
Anyway, as you can see below, Windows FTP client sends an attribute that is
not compatible with the RFC 2428. When I send the same EPRT command without
the scope ID (by using "literal" command"), the server does not return any
errors.
See below for details.

C:\>ftp FEC0::1:0:0:C631:B414
Connected to fec0::1:0:0:c631:b414.
220 sierra.genesyslab.com FTP server ready.
User (fec0::1:0:0:c631:b414:(none)): ftp
331 Guest login ok, send your complete e-mail address as password.
Password:
230-
230- Hello "ftp" from "vista-beta2.genesyslab.com",
230- host "sierra.genesyslab.com" pleased to meet you.
230-
230- ******** Welcome to the Genesys FTP server! ********
230-
230- Local time: Fri Jul 14 13:34:55 2006
230- Users at your class: 4, of maximum 100 allowed.
230-
230- In case of problems: please send e-mail to ftp@genesyslab.com.
230-
230-
230 Guest login ok, access restrictions apply.
ftp> ls
500 'EPRT |2|fec0::7:3c6c:774:dc01:4c13%1|49317|': command not understood.
425 Can't build data connection: Connection refused.
ftp> literal EPRT |2|fec0::7:3c6c:774:dc01:4c13|49317
200 PORT command successful.
ftp>

Below is what sniffer (installed on the client FTP computer Windows Vista,
beta2) is able to see when I communicate to Solaris 5.10 FTP server. Please
pay attention to the frames 44 and 45. Sorry I had to truncate the output
because of the 30000 limit on the post size. Feel free to delete any part of
the post if you'll hit this limit also.


No. Time Source Destination Protocol Info
24 17.486594 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
ftp > 49209 [ACK] Seq=102 Ack=35 Win=50400 Len=0

Frame 24 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49209 (49209),
Seq: 102, Ack: 35, Len: 0
Source port: ftp (21)
Destination port: 49209 (49209)
Sequence number: 102 (relative sequence number)
Acknowledgement number: 35 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 50400
Checksum: 0x7985 [correct]

No. Time Source Destination Protocol Info
25 18.499039 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
49210 > ftp [SYN] Seq=0 Len=0 MSS=1440 WS=0

Frame 25 (86 bytes on wire, 86 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 0, Len: 0
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 0 (relative sequence number)
Header length: 32 bytes
Flags: 0x0002 (SYN)
Window size: 8192
Checksum: 0x432f [correct]
Options: (12 bytes)

No. Time Source Destination Protocol Info
26 18.499361 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
ftp > 49210 [SYN, ACK] Seq=0 Ack=1 Win=50400 Len=0 MSS=1440 WS=0

Frame 26 (86 bytes on wire, 86 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
Seq: 0, Ack: 1, Len: 0
Source port: ftp (21)
Destination port: 49210 (49210)
Sequence number: 0 (relative sequence number)
Acknowledgement number: 1 (relative ack number)
Header length: 32 bytes
Flags: 0x0012 (SYN, ACK)
Window size: 50400
Checksum: 0x3e51 [correct]
Options: (12 bytes)

No. Time Source Destination Protocol Info
27 18.499414 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
49210 > ftp [ACK] Seq=1 Ack=1 Win=8192 Len=0

Frame 27 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 1, Ack: 1, Len: 0
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 1 (relative sequence number)
Acknowledgement number: 1 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 8192
Checksum: 0x23e9 [correct]

No. Time Source Destination Protocol Info
28 18.571339 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
Response: 220 solarix FTP server ready.

Frame 28 (105 bytes on wire, 105 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
Seq: 1, Ack: 1, Len: 31
Source port: ftp (21)
Destination port: 49210 (49210)
Sequence number: 1 (relative sequence number)
Next sequence number: 32 (relative sequence number)
Acknowledgement number: 1 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 50400
Checksum: 0x4e17 [correct]
File Transfer Protocol (FTP)
220 solarix FTP server ready.\r\n
Response code: Service ready for new user (220)
Response arg: solarix FTP server ready.

No. Time Source Destination Protocol Info
29 18.766202 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
49210 > ftp [ACK] Seq=1 Ack=32 Win=8161 Len=0

Frame 29 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 1, Ack: 32, Len: 0
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 1 (relative sequence number)
Acknowledgement number: 32 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 8161
Checksum: 0x23e9 [correct]

No. Time Source Destination Protocol Info
30 20.155319 BayNetwo_a2:08:db
Bay-Networks-(Synoptics)-autodiscovery SONMP SONMP - Segment Hello

Frame 30 (60 bytes on wire, 60 bytes captured)
IEEE 802.3 Ethernet
Logical-Link Control
Nortel Networks / SynOptics Network Management Protocol

No. Time Source Destination Protocol Info
31 20.156147 BayNetwo_a2:08:db
Bay-Networks-(Synoptics)-autodiscovery SONMP SONMP - FlatNet Hello

Frame 31 (60 bytes on wire, 60 bytes captured)
IEEE 802.3 Ethernet
Logical-Link Control
Nortel Networks / SynOptics Network Management Protocol

No. Time Source Destination Protocol Info
32 20.721700 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 FTP
Request: USER YYYY

Frame 32 (85 bytes on wire, 85 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 1, Ack: 32, Len: 11
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 1 (relative sequence number)
Next sequence number: 12 (relative sequence number)
Acknowledgement number: 32 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 8161
Checksum: 0x854a [correct]
File Transfer Protocol (FTP)
USER YYYY\r\n
Request command: USER
Request arg: YYYY

No. Time Source Destination Protocol Info
33 20.722006 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
ftp > 49210 [ACK] Seq=32 Ack=12 Win=50400 Len=0

Frame 33 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
Seq: 32, Ack: 12, Len: 0
Source port: ftp (21)
Destination port: 49210 (49210)
Sequence number: 32 (relative sequence number)
Acknowledgement number: 12 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 50400
Checksum: 0x7ede [correct]

No. Time Source Destination Protocol Info
34 20.723983 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
Response: 331 Password required for YYYY.

Frame 34 (107 bytes on wire, 107 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
Seq: 32, Ack: 12, Len: 33
Source port: ftp (21)
Destination port: 49210 (49210)
Sequence number: 32 (relative sequence number)
Next sequence number: 65 (relative sequence number)
Acknowledgement number: 12 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 50400
Checksum: 0xb16f [correct]
File Transfer Protocol (FTP)
331 Password required for YYYY.\r\n
Response code: User name okay, need password (331)
Response arg: Password required for YYYY.

No. Time Source Destination Protocol Info
35 20.919046 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
49210 > ftp [ACK] Seq=12 Ack=65 Win=8128 Len=0

Frame 35 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 12, Ack: 65, Len: 0
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 12 (relative sequence number)
Acknowledgement number: 65 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 8128
Checksum: 0x23de [correct]

No. Time Source Destination Protocol Info
36 22.056269 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
ftp > 49209 [FIN, ACK] Seq=101 Ack=35 Win=50400 Len=0

Frame 36 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49209 (49209),
Seq: 101, Ack: 35, Len: 0
Source port: ftp (21)
Destination port: 49209 (49209)
Sequence number: 101 (relative sequence number)
Acknowledgement number: 35 (relative ack number)
Header length: 20 bytes
Flags: 0x0011 (FIN, ACK)
Window size: 50400
Checksum: 0x7985 [correct]

No. Time Source Destination Protocol Info
37 22.056289 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
[TCP ZeroWindow] 49209 > ftp [ACK] Seq=35 Ack=102 Win=0 Len=0

Frame 37 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49209 (49209), Dst Port: ftp (21),
Seq: 35, Ack: 102, Len: 0
Source port: 49209 (49209)
Destination port: ftp (21)
Sequence number: 35 (relative sequence number)
Acknowledgement number: 102 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 0
Checksum: 0x3e66 [correct]
SEQ/ACK analysis

No. Time Source Destination Protocol Info
38 22.881675 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 FTP
Request: PASS XXXXXXXX

Frame 38 (89 bytes on wire, 89 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 12, Ack: 65, Len: 15
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 12 (relative sequence number)
Next sequence number: 27 (relative sequence number)
Acknowledgement number: 65 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 8128
Checksum: 0xaa80 [correct]
File Transfer Protocol (FTP)
PASS XXXXXXX\r\n
Request command: PASS
Request arg: XXXXXXXXX

No. Time Source Destination Protocol Info
39 22.881886 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
ftp > 49210 [ACK] Seq=65 Ack=27 Win=50400 Len=0

Frame 39 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
Seq: 65, Ack: 27, Len: 0
Source port: ftp (21)
Destination port: 49210 (49210)
Sequence number: 65 (relative sequence number)
Acknowledgement number: 27 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 50400
Checksum: 0x7eae [correct]

No. Time Source Destination Protocol Info
40 23.009291 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
Response: 230-No directory! Logging in with home=/

Frame 40 (116 bytes on wire, 116 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
Seq: 65, Ack: 27, Len: 42
Source port: ftp (21)
Destination port: 49210 (49210)
Sequence number: 65 (relative sequence number)
Next sequence number: 107 (relative sequence number)
Acknowledgement number: 27 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 50400
Checksum: 0xd67b [correct]
File Transfer Protocol (FTP)
230-No directory! Logging in with home=/\r\n
Response code: User logged in, proceed (230)
Response arg: No directory! Logging in with home=/

No. Time Source Destination Protocol Info
41 23.196634 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
49210 > ftp [ACK] Seq=27 Ack=107 Win=8086 Len=0

Frame 41 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 27, Ack: 107, Len: 0
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 27 (relative sequence number)
Acknowledgement number: 107 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 8086
Checksum: 0x23cf [correct]

No. Time Source Destination Protocol Info
42 23.196894 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
Response: 230 User YYYY logged in.

Frame 42 (100 bytes on wire, 100 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
Seq: 107, Ack: 27, Len: 26
Source port: ftp (21)
Destination port: 49210 (49210)
Sequence number: 107 (relative sequence number)
Next sequence number: 133 (relative sequence number)
Acknowledgement number: 27 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 50400
Checksum: 0x9253 [correct]
File Transfer Protocol (FTP)
230 User YYYY logged in.\r\n
Response code: User logged in, proceed (230)
Response arg: User YYYY logged in.

No. Time Source Destination Protocol Info
43 23.399399 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
49210 > ftp [ACK] Seq=27 Ack=133 Win=8060 Len=0

Frame 43 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 27, Ack: 133, Len: 0
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 27 (relative sequence number)
Acknowledgement number: 133 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 8060
Checksum: 0x23cf [correct]

No. Time Source Destination Protocol Info
44 26.865440 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 FTP
Request: EPRT |2|fe80::e0a0:44d5:6f32:9aff%11|49211|

Frame 44 (119 bytes on wire, 119 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 27, Ack: 133, Len: 45
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 27 (relative sequence number)
Next sequence number: 72 (relative sequence number)
Acknowledgement number: 133 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 8060
Checksum: 0xecc5 [correct]
File Transfer Protocol (FTP)
EPRT |2|fe80::e0a0:44d5:6f32:9aff%11|49211|\r\n
Request command: EPRT
Request arg: |2|fe80::e0a0:44d5:6f32:9aff%11|49211|

No. Time Source Destination Protocol Info
45 26.866051 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
Response: 501 Bad address fe80::e0a0:44d5:6f32:9aff%11.

Frame 45 (121 bytes on wire, 121 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
Seq: 133, Ack: 72, Len: 47
Source port: ftp (21)
Destination port: 49210 (49210)
Sequence number: 133 (relative sequence number)
Next sequence number: 180 (relative sequence number)
Acknowledgement number: 72 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 50400
Checksum: 0xbb2a [correct]
File Transfer Protocol (FTP)
501 Bad address fe80::e0a0:44d5:6f32:9aff%11.\r\n
Response code: Syntax error in parameters or arguments (501)
Response arg: Bad address fe80::e0a0:44d5:6f32:9aff%11.

No. Time Source Destination Protocol Info
46 26.869300 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 FTP
Request: NLST

Frame 46 (80 bytes on wire, 80 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
Seq: 72, Ack: 180, Len: 6
Source port: 49210 (49210)
Destination port: ftp (21)
Sequence number: 72 (relative sequence number)
Next sequence number: 78 (relative sequence number)
Acknowledgement number: 180 (relative ack number)
Header length: 20 bytes
Flags: 0x0018 (PSH, ACK)
Window size: 8013
Checksum: 0x74e9 [correct]
File Transfer Protocol (FTP)
NLST\r\n
Request command: NLST

No. Time Source Destination Protocol Info
47 26.870518 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
ftp-data > 49210 [SYN] Seq=0 Len=0 MSS=1440 WS=0

Frame 47 (86 bytes on wire, 86 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp-data (20), Dst Port: 49210
(49210), Seq: 0, Len: 0
Source port: ftp-data (20)
Destination port: 49210 (49210)
Sequence number: 0 (relative sequence number)
Header length: 32 bytes
Flags: 0x0002 (SYN)
Window size: 50400
Checksum: 0xa597 [correct]
Options: (12 bytes)

No. Time Source Destination Protocol Info
48 26.870606 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
49210 > ftp-data [SYN, ACK] Seq=0 Ack=1 Win=2097152 Len=0 MSS=1440 WS=8

Frame 48 (86 bytes on wire, 86 bytes captured)
Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
(00:03:ba:6c:a6:d7)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp-data
(20), Seq: 0, Ack: 1, Len: 0
Source port: 49210 (49210)
Destination port: ftp-data (20)
Sequence number: 0 (relative sequence number)
Acknowledgement number: 1 (relative ack number)
Header length: 32 bytes
Flags: 0x0012 (SYN, ACK)
Window size: 2097152 (scaled)
Checksum: 0x31fc [correct]
Options: (12 bytes)

No. Time Source Destination Protocol Info
49 26.870804 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
ftp-data > 49210 [ACK] Seq=1 Ack=1 Win=50400 Len=0

Frame 49 (74 bytes on wire, 74 bytes captured)
Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
(00:14:22:17:d0:5d)
Internet Protocol Version 6
Transmission Control Protocol, Src Port: ftp-data (20), Dst Port: 49210
(49210), Seq: 1, Ack: 1, Len: 0
Source port: ftp-data (20)
Destination port: 49210 (49210)
Sequence number: 1 (relative sequence number)
Acknowledgement number: 1 (relative ack number)
Header length: 20 bytes
Flags: 0x0010 (ACK)
Window size: 50400
Checksum: 0xd4d3 [correct]



"De Kameel" wrote:

> IgorR_us wrote:
> > I have a weird situation when I try to use a standard FTP client on my
> > Windows XP or Vista (beta2) computers connecting to non-windows ftp server.

>
> What kind of non-FTP server? Because I haven't got a problem when
> connecting and GET-ing with my XP-FTP-client to ftp.belnet.be (which, I
> guess, is not a Windows FTP server) and to ftp.fi.debian.org (which
> very, very probably is not Windows). See below.
>
> de Kameel
>
>
> C:\>ftp ftp.fi.debian.org
> Connected to ftp.fi.debian.org.
> 220 alppitorvi FTP server (Version 6.5/OpenBSD, linux port 0.3.2) ready.
> User (ftp.fi.debian.org:(none)): ftp
> 331 Guest login ok, type your name as password.
> Password:
> 230-
> 230- Welcome to trumpetti.atm.tut.fi (130.230.54.99 and 2001:708:310:54::2),
> 230- also known as ftp.fi.debian.org and rsync1.fi.gentoo.org.
> 230- We are located at Tampere University of Technology, Finland.
> 230- All services (http,ftp,rsync) support IPv6.
> 230-
> 230- The server is a dual P3 1GHz with 1Gb of memory and a gigabit
> 230- network connection.
> 230-
> 230- In case of questions, suggestions or problems, please contact
> ice-mirror@cs
> ..tut.fi
> 230-
> 230 Guest login ok, access restrictions apply.
> ftp> get pub/debian/README
> 200 EPRT command successful.
> 150 Opening ASCII mode data connection for 'pub/debian/README' (1057 bytes).
> 226 Transfer complete.
> ftp: 1082 bytes received in 0,00Seconds 1082000,00Kbytes/sec.
> ftp> bye
> 221 Goodbye.
>
> C:\>
>
> C:\>ftp ftp.belnet.be
> Connected to niue.belnet.be.
> 220 ProFTPD 1.3.0 Server (BELNET FTPD Server)
> [2001:6a8:3c80:0:203:baff:fe39:f93
> 1]
> User (niue.belnet.be:(none)): ftp
> 331 Anonymous login ok, send your complete email address as your password.
> Password:
> 230 Anonymous access granted, restrictions apply.
> ftp> dir
> 200 EPRT command successful
> 150 Opening ASCII mode data connection for file list
> lrw-r----- 1 ftp ftp 34 May 9 2005 FreeBSD ->
> mirror/ftp.fre
> ebsd.org/pub/FreeBSD
> lrw-r----- 1 ftp ftp 28 Feb 3 2005 debian ->
> mirror/ftp.debi
> an.org/debian
> lrw-r----- 1 ftp ftp 38 May 19 2005 debian-amd64 ->
> mirrors/d
> ebian-amd64.alioth.debian.org
> lrw-r----- 1 ftp ftp 31 Feb 3 2005 debian-cd ->
> mirror/ftp.d
> ebian.org/debian-cd
> lrw-r----- 1 ftp ftp 35 Feb 3 2005 debian-non-US ->
> mirror/f
> tp.debian.org/debian-non-US
> -rw-r----- 1 ftp ftp 5393 Mar 23 2005 index.shtml
> -rw-r----- 1 ftp ftp 2692 Feb 2 2005 index_old.shtml
> drwxr-x--- 2 ftp ftp 1024 Mar 27 09:21 linux
> drwxr-x--- 94 ftp ftp 3072 Apr 27 07:53 mirror
> lrw-r----- 1 ftp ftp 6 Feb 3 2005 mirrors -> mirror
> drwxr-x--- 2 ftp ftp 3072 Apr 27 07:53 packages
> lrw-r----- 1 ftp ftp 1 Feb 3 2005 pub -> .
> 226 Transfer complete.
> ftp: 987 bytes received in 0,42Seconds 2,34Kbytes/sec.
> ftp> get index.shtml
> 200 EPRT command successful
> 150 Opening ASCII mode data connection for index.shtml (5393 bytes)
> 226 Transfer complete.
> ftp: 5530 bytes received in 0,53Seconds 10,41Kbytes/sec.
> ftp> bye
> 221 Goodbye.
>
> C:\>
>
>
> > The client is able to login to the ftp server, but any command that requires
> > to access the files (ls, get,...) fails.
> > The sniffer comes out with the strange result. I can see that the client
> > sends the request to ftp as follows:
> > ERPT |2|fec0::7:206:5bff:fee7:5e4d%2|1029|
> >
> > the FTP server responds with the following:
> > 500 'ERPT |2|fec0::7:206:5bff:fee7:5e4d%2|1029|' : command not ...
> >
> > (you can see the same information if you simpli turn on a debug in FTP
> > client).
> >
> > I started to experiment using the "literal" command where I was able to send
> > a little bit modified EPRT command and figured out that the FTP server does
> > not like the so called scope ID (%2) that windows FTP client includes into
> > the IPv6 address field in EPRT command.
> > I start searching the internet and found an RFC 2428 that describes the FTP
> > enhancements for IPv6 and the format for the new commands (eprt is among
> > them).
> > According to that document the IPv6 address field in EPRT command MUST
> > include only IPv6 address, without any scope ID.
> >
> > On the other hand, Windows FTP client works normally with the Windows FTP
> > server. Looks like Windows FTP server simply strips this scope ID out and
> > that's it.
> >
> > Does anybody know how to deal with that incompatibility problem?
> > Does Microsoft intentionally make Windows FTP client incompatible with the
> > industry standard (RFC2428) and as a result to all non-Windows FTP servers?
> >
> >
> >
> >
> >
> >

>

Reply With Quote
  #4 (permalink)  
Old 01-01-2007, 04:18 PM
De Kameel
 
Posts: n/a
Re: Windows FTP client is not compatible with RFC2428 when uses IP

IgorR_us wrote:
> I have tried with two non-Windows FTps. One of the is FTP server daemon that
> goes with the Solaris 5.10, and another one is FreeBSD


Funny: I connected without problems from my XP-FTP-client to the same
sierra.genesyslab.com. See log below.
However: I see no IPv6 address for sierra.genesyslab.com, so I must be
connecting via IPv4. Does this mean the problem is only there in IPv6?

> I have no problem connecting to them from another solaris 5.10 host by ftp.
> Anyway, as you can see below, Windows FTP client sends an attribute that is
> not compatible with the RFC 2428.


Has Microsoft stated it's FTP client is compliant with RFC 2428? ;-)
If so, I think you can report a bug. And remember: Microsoft always
tells their closed-source software is much better supported than
open-source software where anybody can find and fix bugs themselves. ;-)

de Kameel

> When I send the same EPRT command without
> the scope ID (by using "literal" command"), the server does not return any
> errors.





Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.


C:\>ftp ftp.genesyslab.com
Connected to ftp.sfpn.genesyslab.com.
220 sierra.genesyslab.com FTP server ready.
User (ftp.sfpn.genesyslab.com:(none)): ftp
331 Guest login ok, send your complete e-mail address as password.
Password:
230-
230- Hello "ftp" from "felker.xs4all.nl",
230- host "sierra.genesyslab.com" pleased to meet you.
230-
230- ******** Welcome to the Genesys FTP server! ********
230-
230- Local time: Thu Aug 3 22:54:15 2006
230- Users at your class: 8, of maximum 500 allowed.
230-
230- In case of problems: please send e-mail to ftp@genesyslab.com.
230-
230-
230 Guest login ok, access restrictions apply.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
bin
etc
pub
226 Transfer complete.
ftp: 15 bytes received in 0,08Seconds 0,19Kbytes/sec.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 3
drwxr-xr-x 2 0 0 512 May 21 2002 bin
d--x--x--x 3 0 0 512 May 16 2002 etc
drwxr-xr-x 6 0 0 512 Jul 13 16:02 pub
226 Transfer complete.
ftp: 135 bytes received in 0,11Seconds 1,24Kbytes/sec.
ftp>



> See below for details.
>
> C:\>ftp FEC0::1:0:0:C631:B414
> Connected to fec0::1:0:0:c631:b414.
> 220 sierra.genesyslab.com FTP server ready.
> User (fec0::1:0:0:c631:b414:(none)): ftp
> 331 Guest login ok, send your complete e-mail address as password.
> Password:
> 230-
> 230- Hello "ftp" from "vista-beta2.genesyslab.com",
> 230- host "sierra.genesyslab.com" pleased to meet you.
> 230-
> 230- ******** Welcome to the Genesys FTP server! ********
> 230-
> 230- Local time: Fri Jul 14 13:34:55 2006
> 230- Users at your class: 4, of maximum 100 allowed.
> 230-
> 230- In case of problems: please send e-mail to ftp@genesyslab.com.
> 230-
> 230-
> 230 Guest login ok, access restrictions apply.
> ftp> ls
> 500 'EPRT |2|fec0::7:3c6c:774:dc01:4c13%1|49317|': command not understood.
> 425 Can't build data connection: Connection refused.
> ftp> literal EPRT |2|fec0::7:3c6c:774:dc01:4c13|49317
> 200 PORT command successful.
> ftp>


>
> Below is what sniffer (installed on the client FTP computer Windows Vista,
> beta2) is able to see when I communicate to Solaris 5.10 FTP server. Please
> pay attention to the frames 44 and 45. Sorry I had to truncate the output
> because of the 30000 limit on the post size. Feel free to delete any part of
> the post if you'll hit this limit also.
>
>
> No. Time Source Destination Protocol Info
> 24 17.486594 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
> ftp > 49209 [ACK] Seq=102 Ack=35 Win=50400 Len=0
>
> Frame 24 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49209 (49209),
> Seq: 102, Ack: 35, Len: 0
> Source port: ftp (21)
> Destination port: 49209 (49209)
> Sequence number: 102 (relative sequence number)
> Acknowledgement number: 35 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 50400
> Checksum: 0x7985 [correct]
>
> No. Time Source Destination Protocol Info
> 25 18.499039 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
> 49210 > ftp [SYN] Seq=0 Len=0 MSS=1440 WS=0
>
> Frame 25 (86 bytes on wire, 86 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 0, Len: 0
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 0 (relative sequence number)
> Header length: 32 bytes
> Flags: 0x0002 (SYN)
> Window size: 8192
> Checksum: 0x432f [correct]
> Options: (12 bytes)
>
> No. Time Source Destination Protocol Info
> 26 18.499361 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
> ftp > 49210 [SYN, ACK] Seq=0 Ack=1 Win=50400 Len=0 MSS=1440 WS=0
>
> Frame 26 (86 bytes on wire, 86 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
> Seq: 0, Ack: 1, Len: 0
> Source port: ftp (21)
> Destination port: 49210 (49210)
> Sequence number: 0 (relative sequence number)
> Acknowledgement number: 1 (relative ack number)
> Header length: 32 bytes
> Flags: 0x0012 (SYN, ACK)
> Window size: 50400
> Checksum: 0x3e51 [correct]
> Options: (12 bytes)
>
> No. Time Source Destination Protocol Info
> 27 18.499414 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
> 49210 > ftp [ACK] Seq=1 Ack=1 Win=8192 Len=0
>
> Frame 27 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 1, Ack: 1, Len: 0
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 1 (relative sequence number)
> Acknowledgement number: 1 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 8192
> Checksum: 0x23e9 [correct]
>
> No. Time Source Destination Protocol Info
> 28 18.571339 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
> Response: 220 solarix FTP server ready.
>
> Frame 28 (105 bytes on wire, 105 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
> Seq: 1, Ack: 1, Len: 31
> Source port: ftp (21)
> Destination port: 49210 (49210)
> Sequence number: 1 (relative sequence number)
> Next sequence number: 32 (relative sequence number)
> Acknowledgement number: 1 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 50400
> Checksum: 0x4e17 [correct]
> File Transfer Protocol (FTP)
> 220 solarix FTP server ready.\r\n
> Response code: Service ready for new user (220)
> Response arg: solarix FTP server ready.
>
> No. Time Source Destination Protocol Info
> 29 18.766202 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
> 49210 > ftp [ACK] Seq=1 Ack=32 Win=8161 Len=0
>
> Frame 29 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 1, Ack: 32, Len: 0
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 1 (relative sequence number)
> Acknowledgement number: 32 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 8161
> Checksum: 0x23e9 [correct]
>
> No. Time Source Destination Protocol Info
> 30 20.155319 BayNetwo_a2:08:db
> Bay-Networks-(Synoptics)-autodiscovery SONMP SONMP - Segment Hello
>
> Frame 30 (60 bytes on wire, 60 bytes captured)
> IEEE 802.3 Ethernet
> Logical-Link Control
> Nortel Networks / SynOptics Network Management Protocol
>
> No. Time Source Destination Protocol Info
> 31 20.156147 BayNetwo_a2:08:db
> Bay-Networks-(Synoptics)-autodiscovery SONMP SONMP - FlatNet Hello
>
> Frame 31 (60 bytes on wire, 60 bytes captured)
> IEEE 802.3 Ethernet
> Logical-Link Control
> Nortel Networks / SynOptics Network Management Protocol
>
> No. Time Source Destination Protocol Info
> 32 20.721700 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 FTP
> Request: USER YYYY
>
> Frame 32 (85 bytes on wire, 85 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 1, Ack: 32, Len: 11
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 1 (relative sequence number)
> Next sequence number: 12 (relative sequence number)
> Acknowledgement number: 32 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 8161
> Checksum: 0x854a [correct]
> File Transfer Protocol (FTP)
> USER YYYY\r\n
> Request command: USER
> Request arg: YYYY
>
> No. Time Source Destination Protocol Info
> 33 20.722006 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
> ftp > 49210 [ACK] Seq=32 Ack=12 Win=50400 Len=0
>
> Frame 33 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
> Seq: 32, Ack: 12, Len: 0
> Source port: ftp (21)
> Destination port: 49210 (49210)
> Sequence number: 32 (relative sequence number)
> Acknowledgement number: 12 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 50400
> Checksum: 0x7ede [correct]
>
> No. Time Source Destination Protocol Info
> 34 20.723983 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
> Response: 331 Password required for YYYY.
>
> Frame 34 (107 bytes on wire, 107 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
> Seq: 32, Ack: 12, Len: 33
> Source port: ftp (21)
> Destination port: 49210 (49210)
> Sequence number: 32 (relative sequence number)
> Next sequence number: 65 (relative sequence number)
> Acknowledgement number: 12 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 50400
> Checksum: 0xb16f [correct]
> File Transfer Protocol (FTP)
> 331 Password required for YYYY.\r\n
> Response code: User name okay, need password (331)
> Response arg: Password required for YYYY.
>
> No. Time Source Destination Protocol Info
> 35 20.919046 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
> 49210 > ftp [ACK] Seq=12 Ack=65 Win=8128 Len=0
>
> Frame 35 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 12, Ack: 65, Len: 0
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 12 (relative sequence number)
> Acknowledgement number: 65 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 8128
> Checksum: 0x23de [correct]
>
> No. Time Source Destination Protocol Info
> 36 22.056269 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
> ftp > 49209 [FIN, ACK] Seq=101 Ack=35 Win=50400 Len=0
>
> Frame 36 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49209 (49209),
> Seq: 101, Ack: 35, Len: 0
> Source port: ftp (21)
> Destination port: 49209 (49209)
> Sequence number: 101 (relative sequence number)
> Acknowledgement number: 35 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0011 (FIN, ACK)
> Window size: 50400
> Checksum: 0x7985 [correct]
>
> No. Time Source Destination Protocol Info
> 37 22.056289 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
> [TCP ZeroWindow] 49209 > ftp [ACK] Seq=35 Ack=102 Win=0 Len=0
>
> Frame 37 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49209 (49209), Dst Port: ftp (21),
> Seq: 35, Ack: 102, Len: 0
> Source port: 49209 (49209)
> Destination port: ftp (21)
> Sequence number: 35 (relative sequence number)
> Acknowledgement number: 102 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 0
> Checksum: 0x3e66 [correct]
> SEQ/ACK analysis
>
> No. Time Source Destination Protocol Info
> 38 22.881675 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 FTP
> Request: PASS XXXXXXXX
>
> Frame 38 (89 bytes on wire, 89 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 12, Ack: 65, Len: 15
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 12 (relative sequence number)
> Next sequence number: 27 (relative sequence number)
> Acknowledgement number: 65 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 8128
> Checksum: 0xaa80 [correct]
> File Transfer Protocol (FTP)
> PASS XXXXXXX\r\n
> Request command: PASS
> Request arg: XXXXXXXXX
>
> No. Time Source Destination Protocol Info
> 39 22.881886 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
> ftp > 49210 [ACK] Seq=65 Ack=27 Win=50400 Len=0
>
> Frame 39 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
> Seq: 65, Ack: 27, Len: 0
> Source port: ftp (21)
> Destination port: 49210 (49210)
> Sequence number: 65 (relative sequence number)
> Acknowledgement number: 27 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 50400
> Checksum: 0x7eae [correct]
>
> No. Time Source Destination Protocol Info
> 40 23.009291 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
> Response: 230-No directory! Logging in with home=/
>
> Frame 40 (116 bytes on wire, 116 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
> Seq: 65, Ack: 27, Len: 42
> Source port: ftp (21)
> Destination port: 49210 (49210)
> Sequence number: 65 (relative sequence number)
> Next sequence number: 107 (relative sequence number)
> Acknowledgement number: 27 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 50400
> Checksum: 0xd67b [correct]
> File Transfer Protocol (FTP)
> 230-No directory! Logging in with home=/\r\n
> Response code: User logged in, proceed (230)
> Response arg: No directory! Logging in with home=/
>
> No. Time Source Destination Protocol Info
> 41 23.196634 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
> 49210 > ftp [ACK] Seq=27 Ack=107 Win=8086 Len=0
>
> Frame 41 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 27, Ack: 107, Len: 0
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 27 (relative sequence number)
> Acknowledgement number: 107 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 8086
> Checksum: 0x23cf [correct]
>
> No. Time Source Destination Protocol Info
> 42 23.196894 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
> Response: 230 User YYYY logged in.
>
> Frame 42 (100 bytes on wire, 100 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
> Seq: 107, Ack: 27, Len: 26
> Source port: ftp (21)
> Destination port: 49210 (49210)
> Sequence number: 107 (relative sequence number)
> Next sequence number: 133 (relative sequence number)
> Acknowledgement number: 27 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 50400
> Checksum: 0x9253 [correct]
> File Transfer Protocol (FTP)
> 230 User YYYY logged in.\r\n
> Response code: User logged in, proceed (230)
> Response arg: User YYYY logged in.
>
> No. Time Source Destination Protocol Info
> 43 23.399399 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
> 49210 > ftp [ACK] Seq=27 Ack=133 Win=8060 Len=0
>
> Frame 43 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 27, Ack: 133, Len: 0
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 27 (relative sequence number)
> Acknowledgement number: 133 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 8060
> Checksum: 0x23cf [correct]
>
> No. Time Source Destination Protocol Info
> 44 26.865440 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 FTP
> Request: EPRT |2|fe80::e0a0:44d5:6f32:9aff%11|49211|
>
> Frame 44 (119 bytes on wire, 119 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 27, Ack: 133, Len: 45
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 27 (relative sequence number)
> Next sequence number: 72 (relative sequence number)
> Acknowledgement number: 133 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 8060
> Checksum: 0xecc5 [correct]
> File Transfer Protocol (FTP)
> EPRT |2|fe80::e0a0:44d5:6f32:9aff%11|49211|\r\n
> Request command: EPRT
> Request arg: |2|fe80::e0a0:44d5:6f32:9aff%11|49211|
>
> No. Time Source Destination Protocol Info
> 45 26.866051 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff FTP
> Response: 501 Bad address fe80::e0a0:44d5:6f32:9aff%11.
>
> Frame 45 (121 bytes on wire, 121 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp (21), Dst Port: 49210 (49210),
> Seq: 133, Ack: 72, Len: 47
> Source port: ftp (21)
> Destination port: 49210 (49210)
> Sequence number: 133 (relative sequence number)
> Next sequence number: 180 (relative sequence number)
> Acknowledgement number: 72 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 50400
> Checksum: 0xbb2a [correct]
> File Transfer Protocol (FTP)
> 501 Bad address fe80::e0a0:44d5:6f32:9aff%11.\r\n
> Response code: Syntax error in parameters or arguments (501)
> Response arg: Bad address fe80::e0a0:44d5:6f32:9aff%11.
>
> No. Time Source Destination Protocol Info
> 46 26.869300 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 FTP
> Request: NLST
>
> Frame 46 (80 bytes on wire, 80 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp (21),
> Seq: 72, Ack: 180, Len: 6
> Source port: 49210 (49210)
> Destination port: ftp (21)
> Sequence number: 72 (relative sequence number)
> Next sequence number: 78 (relative sequence number)
> Acknowledgement number: 180 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0018 (PSH, ACK)
> Window size: 8013
> Checksum: 0x74e9 [correct]
> File Transfer Protocol (FTP)
> NLST\r\n
> Request command: NLST
>
> No. Time Source Destination Protocol Info
> 47 26.870518 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
> ftp-data > 49210 [SYN] Seq=0 Len=0 MSS=1440 WS=0
>
> Frame 47 (86 bytes on wire, 86 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp-data (20), Dst Port: 49210
> (49210), Seq: 0, Len: 0
> Source port: ftp-data (20)
> Destination port: 49210 (49210)
> Sequence number: 0 (relative sequence number)
> Header length: 32 bytes
> Flags: 0x0002 (SYN)
> Window size: 50400
> Checksum: 0xa597 [correct]
> Options: (12 bytes)
>
> No. Time Source Destination Protocol Info
> 48 26.870606 fe80::e0a0:44d5:6f32:9aff fe80::203:baff:fe6c:a6d7 TCP
> 49210 > ftp-data [SYN, ACK] Seq=0 Ack=1 Win=2097152 Len=0 MSS=1440 WS=8
>
> Frame 48 (86 bytes on wire, 86 bytes captured)
> Ethernet II, Src: Dell_17:d0:5d (00:14:22:17:d0:5d), Dst: SunMicro_6c:a6:d7
> (00:03:ba:6c:a6:d7)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: 49210 (49210), Dst Port: ftp-data
> (20), Seq: 0, Ack: 1, Len: 0
> Source port: 49210 (49210)
> Destination port: ftp-data (20)
> Sequence number: 0 (relative sequence number)
> Acknowledgement number: 1 (relative ack number)
> Header length: 32 bytes
> Flags: 0x0012 (SYN, ACK)
> Window size: 2097152 (scaled)
> Checksum: 0x31fc [correct]
> Options: (12 bytes)
>
> No. Time Source Destination Protocol Info
> 49 26.870804 fe80::203:baff:fe6c:a6d7 fe80::e0a0:44d5:6f32:9aff TCP
> ftp-data > 49210 [ACK] Seq=1 Ack=1 Win=50400 Len=0
>
> Frame 49 (74 bytes on wire, 74 bytes captured)
> Ethernet II, Src: SunMicro_6c:a6:d7 (00:03:ba:6c:a6:d7), Dst: Dell_17:d0:5d
> (00:14:22:17:d0:5d)
> Internet Protocol Version 6
> Transmission Control Protocol, Src Port: ftp-data (20), Dst Port: 49210
> (49210), Seq: 1, Ack: 1, Len: 0
> Source port: ftp-data (20)
> Destination port: 49210 (49210)
> Sequence number: 1 (relative sequence number)
> Acknowledgement number: 1 (relative ack number)
> Header length: 20 bytes
> Flags: 0x0010 (ACK)
> Window size: 50400
> Checksum: 0xd4d3 [correct]
>
>
>
> "De Kameel" wrote:
>
>> IgorR_us wrote:
>>> I have a weird situation when I try to use a standard FTP client on my
>>> Windows XP or Vista (beta2) computers connecting to non-windows ftp server.

>> What kind of non-FTP server? Because I haven't got a problem when
>> connecting and GET-ing with my XP-FTP-client to ftp.belnet.be (which, I
>> guess, is not a Windows FTP server) and to ftp.fi.debian.org (which
>> very, very probably is not Windows). See below.
>>
>> de Kameel
>>
>>
>> C:\>ftp ftp.fi.debian.org
>> Connected to ftp.fi.debian.org.
>> 220 alppitorvi FTP server (Version 6.5/OpenBSD, linux port 0.3.2) ready.
>> User (ftp.fi.debian.org:(none)): ftp
>> 331 Guest login ok, type your name as password.
>> Password:
>> 230-
>> 230- Welcome to trumpetti.atm.tut.fi (130.230.54.99 and 2001:708:310:54::2),
>> 230- also known as ftp.fi.debian.org and rsync1.fi.gentoo.org.
>> 230- We are located at Tampere University of Technology, Finland.
>> 230- All services (http,ftp,rsync) support IPv6.
>> 230-
>> 230- The server is a dual P3 1GHz with 1Gb of memory and a gigabit
>> 230- network connection.
>> 230-
>> 230- In case of questions, suggestions or problems, please contact
>> ice-mirror@cs
>> ..tut.fi
>> 230-
>> 230 Guest login ok, access restrictions apply.
>> ftp> get pub/debian/README
>> 200 EPRT command successful.
>> 150 Opening ASCII mode data connection for 'pub/debian/README' (1057 bytes).
>> 226 Transfer complete.
>> ftp: 1082 bytes received in 0,00Seconds 1082000,00Kbytes/sec.
>> ftp> bye
>> 221 Goodbye.
>>
>> C:\>
>>
>> C:\>ftp ftp.belnet.be
>> Connected to niue.belnet.be.
>> 220 ProFTPD 1.3.0 Server (BELNET FTPD Server)
>> [2001:6a8:3c80:0:203:baff:fe39:f93
>> 1]
>> User (niue.belnet.be:(none)): ftp
>> 331 Anonymous login ok, send your complete email address as your password.
>> Password:
>> 230 Anonymous access granted, restrictions apply.
>> ftp> dir
>> 200 EPRT command successful
>> 150 Opening ASCII mode data connection for file list
>> lrw-r----- 1 ftp ftp 34 May 9 2005 FreeBSD ->
>> mirror/ftp.fre
>> ebsd.org/pub/FreeBSD
>> lrw-r----- 1 ftp ftp 28 Feb 3 2005 debian ->
>> mirror/ftp.debi
>> an.org/debian
>> lrw-r----- 1 ftp ftp 38 May 19 2005 debian-amd64 ->
>> mirrors/d
>> ebian-amd64.alioth.debian.org
>> lrw-r----- 1 ftp ftp 31 Feb 3 2005 debian-cd ->
>> mirror/ftp.d
>> ebian.org/debian-cd
>> lrw-r----- 1 ftp ftp 35 Feb 3 2005 debian-non-US ->
>> mirror/f
>> tp.debian.org/debian-non-US
>> -rw-r----- 1 ftp ftp 5393 Mar 23 2005 index.shtml
>> -rw-r----- 1 ftp ftp 2692 Feb 2 2005 index_old.shtml
>> drwxr-x--- 2 ftp ftp 1024 Mar 27 09:21 linux
>> drwxr-x--- 94 ftp ftp 3072 Apr 27 07:53 mirror
>> lrw-r----- 1 ftp ftp 6 Feb 3 2005 mirrors -> mirror
>> drwxr-x--- 2 ftp ftp 3072 Apr 27 07:53 packages
>> lrw-r----- 1 ftp ftp 1 Feb 3 2005 pub -> .
>> 226 Transfer complete.
>> ftp: 987 bytes received in 0,42Seconds 2,34Kbytes/sec.
>> ftp> get index.shtml
>> 200 EPRT command successful
>> 150 Opening ASCII mode data connection for index.shtml (5393 bytes)
>> 226 Transfer complete.
>> ftp: 5530 bytes received in 0,53Seconds 10,41Kbytes/sec.
>> ftp> bye
>> 221 Goodbye.
>>
>> C:\>
>>
>>
>>> The client is able to login to the ftp server, but any command that requires
>>> to access the files (ls, get,...) fails.
>>> The sniffer comes out with the strange result. I can see that the client
>>> sends the request to ftp as follows:
>>> ERPT |2|fec0::7:206:5bff:fee7:5e4d%2|1029|
>>>
>>> the FTP server responds with the following:
>>> 500 'ERPT |2|fec0::7:206:5bff:fee7:5e4d%2|1029|' : command not ...
>>>
>>> (you can see the same information if you simpli turn on a debug in FTP
>>> client).
>>>
>>> I started to experiment using the "literal" command where I was able to send
>>> a little bit modified EPRT command and figured out that the FTP server does
>>> not like the so called scope ID (%2) that windows FTP client includes into
>>> the IPv6 address field in EPRT command.
>>> I start searching the internet and found an RFC 2428 that describes the FTP
>>> enhancements for IPv6 and the format for the new commands (eprt is among
>>> them).
>>> According to that document the IPv6 address field in EPRT command MUST
>>> include only IPv6 address, without any scope ID.
>>>
>>> On the other hand, Windows FTP client works normally with the Windows FTP
>>> server. Looks like Windows FTP server simply strips this scope ID out and
>>> that's it.
>>>
>>> Does anybody know how to deal with that incompatibility problem?
>>> Does Microsoft intentionally make Windows FTP client incompatible with the
>>> industry standard (RFC2428) and as a result to all non-Windows FTP servers?
>>>
>>>
>>>
>>>
>>>
>>>

Reply With Quote
  #5 (permalink)  
Old 01-01-2007, 04:18 PM
=?Utf-8?B?SWdvclJfdXM=?=
 
Posts: n/a
Re: Windows FTP client is not compatible with RFC2428 when uses IP

You can't connect to sierra.genesyslab.com over ipv6 directly, because it's
pure ipv4 host. I can connect to sierra via ipv6 because my ftp client is
placed into ipv6 network that connects it to the ipv4 network via the router
with NAT-PT configured. In that case, all hosts in ipv6 network "do not know"
that ipv4 networks exist. On the other hand my ipv4 hosts (including sierra)
know nothing about ipv6. As result both hosts (FTP client and server) "think"
that they are communicating with another computer in their native (ipv6 or
ipv4 correspondingly) environment. All the translations for them does the
router. That's why you can't see the problem in your example.

My second example shows frames captured by sniffer when both, client and
server are in the same ipv6 network. There you can see that Microsoft client
sends RFC2428 non-compliant attribute in eprt command.
You can easily test it by yourself. You just need to have one pure ipv6
UNIX-like host with the FTP server on it and one IPv6 XP or Vista host and
connect them with a crossover cable. Sniffers are easily downloadable from
the internet...

You are right, I have not heard/seen anywhere that Microsoft states its FTP
client is compliant with RFC 2428. Moreover, as you can clearly see in my
examples, IT IS NOT COMPLIANT with this standard. I still hope that ftp
client's behavior in Windows is configurable somehow to make it work with any
FTP server over ipv6, but so far I do not know a way to achieve that :(


"De Kameel" wrote:

> IgorR_us wrote:
> > I have tried with two non-Windows FTps. One of the is FTP server daemon that
> > goes with the Solaris 5.10, and another one is FreeBSD

>
> Funny: I connected without problems from my XP-FTP-client to the same
> sierra.genesyslab.com. See log below.
> However: I see no IPv6 address for sierra.genesyslab.com, so I must be
> connecting via IPv4. Does this mean the problem is only there in IPv6?
>
> > I have no problem connecting to them from another solaris 5.10 host by ftp.
> > Anyway, as you can see below, Windows FTP client sends an attribute that is
> > not compatible with the RFC 2428.

>
> Has Microsoft stated it's FTP client is compliant with RFC 2428? ;-)
> If so, I think you can report a bug. And remember: Microsoft always
> tells their closed-source software is much better supported than
> open-source software where anybody can find and fix bugs themselves. ;-)
>
> de Kameel
>
> > When I send the same EPRT command without
> > the scope ID (by using "literal" command"), the server does not return any
> > errors.

>
>
>
>
> Microsoft Windows XP [Version 5.1.2600]
> (C) Copyright 1985-2001 Microsoft Corp.
>
>
> C:\>ftp ftp.genesyslab.com
> Connected to ftp.sfpn.genesyslab.com.
> 220 sierra.genesyslab.com FTP server ready.
> User (ftp.sfpn.genesyslab.com:(none)): ftp
> 331 Guest login ok, send your complete e-mail address as password.
> Password:
> 230-
> 230- Hello "ftp" from "felker.xs4all.nl",
> 230- host "sierra.genesyslab.com" pleased to meet you.
> 230-
> 230- ******** Welcome to the Genesys FTP server! ********
> 230-
> 230- Local time: Thu Aug 3 22:54:15 2006
> 230- Users at your class: 8, of maximum 500 allowed.
> 230-
> 230- In case of problems: please send e-mail to ftp@genesyslab.com.
> 230-
> 230-
> 230 Guest login ok, access restrictions apply.
> ftp> ls
> 200 PORT command successful.
> 150 Opening ASCII mode data connection for file list.
> bin
> etc
> pub
> 226 Transfer complete.
> ftp: 15 bytes received in 0,08Seconds 0,19Kbytes/sec.
> ftp> dir
> 200 PORT command successful.
> 150 Opening ASCII mode data connection for /bin/ls.
> total 3
> drwxr-xr-x 2 0 0 512 May 21 2002 bin
> d--x--x--x 3 0 0 512 May 16 2002 etc
> drwxr-xr-x 6 0 0 512 Jul 13 16:02 pub
> 226 Transfer complete.
> ftp: 135 bytes received in 0,11Seconds 1,24Kbytes/sec.
> ftp>
>
>
>
> > See below for details.
> >
> > C:\>ftp FEC0::1:0:0:C631:B414
> > Connected to fec0::1:0:0:c631:b414.
> > 220 sierra.genesyslab.com FTP server ready.
> > User (fec0::1:0:0:c631:b414:(none)): ftp
> > 331 Guest login ok, send your complete e-mail address as password.
> > Password:
> > 230-
> > 230- Hello "ftp" from "vista-beta2.genesyslab.com",
> > 230- host "sierra.genesyslab.com" pleased to meet you.
> > 230-
> > 230- ******** Welcome to the Genesys FTP server! ********
> > 230-
> > 230- Local time: Fri Jul 14 13:34:55 2006
> > 230- Users at your class: 4, of maximum 100 allowed.
> > 230-
> > 230- In case of problems: please send e-mail to ftp@genesyslab.com.
> > 230-
> > 230-
> > 230 Guest login ok, access restrictions apply.
> > ftp> ls
> > 500 'EPRT |2|fec0::7:3c6c:774:dc01:4c13%1|49317|': command not understood.
> > 425 Can't build data connection: Connection refused.
> > ftp> literal EPRT |2|fec0::7:3c6c:774:dc01:4c13|49317
> > 200 PORT command successful.
> > ftp>

>
> >
> > Below is what sniffer (installed on the client FTP computer Windows Vista,
> > beta2) is able to see when I communicate to Solaris 5.10 FTP server. Please
> > pay attention to the frames 44 and 45. Sorry I had to truncate the output
> > because of the 30000 limit on the post size. Feel free to delete any part of
> > the post if you'll hit this limit also.
> >
> >


Reply With Quote
  #6 (permalink)  
Old 01-01-2007, 04:18 PM
Remi Denis-Courmont
 
Posts: n/a
Re: Windows FTP client is not compatible with RFC2428 when uses IPv6

Le jeudi 3 août 2006 22:13, IgorR_us a écritÂ*:

> I have a weird situation when I try to use a standard FTP client on my
> I started to experiment using the "literal" command where I was able to
> send a little bit modified EPRT command and figured out that the FTP
> server does not like the so called scope ID (%2) that windows FTP client
> includes into the IPv6 address field in EPRT command.


This is expectable. The scope ID is:
1/ specific to the host,
2/ formatted in a OS-specific manner
(in particular, Windows uses plain integers, while
Linux and BSDs use interface names in string representation).

In other words scope IDs are completely meaningless outside the local host.
It is completely pointless and silly to transmit them on the network.

> I start searching the internet and found an RFC 2428 that describes the
> FTP enhancements for IPv6 and the format for the new commands (eprt is
> among them).
> According to that document the IPv6 address field in EPRT command MUST
> include only IPv6 address, without any scope ID.


Of course.

> On the other hand, Windows FTP client works normally with the Windows FTP
> server. Looks like Windows FTP server simply strips this scope ID out and
> that's it.


By Jon Postel's principle that you should be strict in what you send and
relax in what you accept, you should actually do this. But it looks like
a "bug-to-bug" Windows-to-Windows compatibility fix in this case.

> Does anybody know how to deal with that incompatibility problem?
> Does Microsoft intentionally make Windows FTP client incompatible with the
> industry standard (RFC2428) and as a result to all non-Windows FTP
> servers?


I don't think that is intentional. The FTP client must be using some generic
socket address to string/name representation conversion function that sucks
in this case. For the reference, you would get exactly the same problem on
Linux or BSD if you use the getnameinfo() API to convert a *link-local*
IPv6 socket address into a string representation. On these OSes,
getnameinfo() will include the scope ID after a '%' sign, if and only if
the address is link-local, which is to say if and only if the scope ID is
useful at all. I'm actually pretty sure some non-Microsoft software fell
into the trap too.

Conclusion: whenever you want to get a string representation of an address
suitable for network transmission, use inet_ntop() with special cases for
each address family rather than getnameinfo()... Yes, it sucks.

--
Rémi Denis-Courmont
http://www.remlab.net/
Reply With Quote
  #7 (permalink)  
Old 01-01-2007, 04:18 PM
=?Utf-8?B?SWdvclJfdXM=?=
 
Posts: n/a
Re: Windows FTP client is not compatible with RFC2428 when uses IP


Actually I was looking for a way to use standard windows FTP client in IPv6
envinroment, but not for a way to write my own client. But anyway, thanks for
the good idea.

"Remi Denis-Courmont" wrote:

> Le jeudi 3 août 2006 22:13, IgorR_us a écrit :
>
> > I have a weird situation when I try to use a standard FTP client on my
> > I started to experiment using the "literal" command where I was able to
> > send a little bit modified EPRT command and figured out that the FTP
> > server does not like the so called scope ID (%2) that windows FTP client
> > includes into the IPv6 address field in EPRT command.

>
> This is expectable. The scope ID is:
> 1/ specific to the host,
> 2/ formatted in a OS-specific manner
> (in particular, Windows uses plain integers, while
> Linux and BSDs use interface names in string representation).
>
> In other words scope IDs are completely meaningless outside the local host.
> It is completely pointless and silly to transmit them on the network.
>
> > I start searching the internet and found an RFC 2428 that describes the
> > FTP enhancements for IPv6 and the format for the new commands (eprt is
> > among them).
> > According to that document the IPv6 address field in EPRT command MUST
> > include only IPv6 address, without any scope ID.

>
> Of course.
>
> > On the other hand, Windows FTP client works normally with the Windows FTP
> > server. Looks like Windows FTP server simply strips this scope ID out and
> > that's it.

>
> By Jon Postel's principle that you should be strict in what you send and
> relax in what you accept, you should actually do this. But it looks like
> a "bug-to-bug" Windows-to-Windows compatibility fix in this case.
>
> > Does anybody know how to deal with that incompatibility problem?
> > Does Microsoft intentionally make Windows FTP client incompatible with the
> > industry standard (RFC2428) and as a result to all non-Windows FTP
> > servers?

>
> I don't think that is intentional. The FTP client must be using some generic
> socket address to string/name representation conversion function that sucks
> in this case. For the reference, you would get exactly the same problem on
> Linux or BSD if you use the getnameinfo() API to convert a *link-local*
> IPv6 socket address into a string representation. On these OSes,
> getnameinfo() will include the scope ID after a '%' sign, if and only if
> the address is link-local, which is to say if and only if the scope ID is
> useful at all. I'm actually pretty sure some non-Microsoft software fell
> into the trap too.
>
> Conclusion: whenever you want to get a string representation of an address
> suitable for network transmission, use inet_ntop() with special cases for
> each address family rather than getnameinfo()... Yes, it sucks.
>
> --
> Rémi Denis-Courmont
> http://www.remlab.net/
>

Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Points Per Thread View:
Points Per Thread:
Points Per Reply:

Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: DNS lookup from WindowsXP via IPv6 =?Utf-8?B?SWdvclJfdXM=?= IPV6 Network 2 01-01-2007 04:18 PM
Re: IPv6 and File Shares Good News! IPV6 Network 2 01-01-2007 04:18 PM
Philips bundles Skype & Windows Live VoIP with cordless phones Knowing About Routers 0 01-01-2007 12:25 PM


All times are GMT -5. The time now is 01:21 AM.


International Visitors Translate Hostingforum.ca here

Dedicated Hosting


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0 Copyright 2008 Net Industries, LLC.