BUG - FTPS Port flooding - Consuming all dataports on server

Advertisement

djfirefox
Guest

BUG - FTPS Port flooding - Consuming all dataports on server

Hi,

Whilst doing a directory sync or transferring a large volume of iles, I noticed constant disconnects.

After checking the server with a 3rd party support team, we have discovered that the servers ftp data channel range (500 ports) is getting totally consumed by the winscp connection!

I tried using filezilla and it dos not have the same problem.

It appears winscp is not reusing its data session and instead is dropping and recreating a new data channel connection for each file!

I can't

eg
TCP 192.168.200.66:990 89.xxx.xxx.xxx:10756 ESTABLISHED 5236
TCP 192.168.200.66:5064 89.xxx.xxx.xxx:10757 TIME_WAIT 0
TCP 192.168.200.66:5065 89.xxx.xxx.xxx:10758 TIME_WAIT 0
TCP 192.168.200.66:5066 89.xxx.xxx.xxx:10759 TIME_WAIT 0
TCP 192.168.200.66:5067 89.xxx.xxx.xxx:10760 TIME_WAIT 0
TCP 192.168.200.66:5070 89.xxx.xxx.xxx:10763 TIME_WAIT 0
TCP 192.168.200.66:5072 89.xxx.xxx.xxx:10765 TIME_WAIT 0
TCP 192.168.200.66:5078 89.xxx.xxx.xxx:10771 TIME_WAIT 0
TCP 192.168.200.66:5084 89.xxx.xxx.xxx:10777 TIME_WAIT 0
TCP 192.168.200.66:5095 89.xxx.xxx.xxx:10789 TIME_WAIT 0
TCP 192.168.200.66:5098 89.xxx.xxx.xxx:10792 TIME_WAIT 0
TCP 192.168.200.66:5104 89.xxx.xxx.xxx:10798 TIME_WAIT 0
TCP 192.168.200.66:5107 89.xxx.xxx.xxx:10801 TIME_WAIT 0
TCP 192.168.200.66:5109 89.xxx.xxx.xxx:10803 TIME_WAIT 0
TCP 192.168.200.66:5111 89.xxx.xxx.xxx:10805 TIME_WAIT 0
TCP 192.168.200.66:5117 89.xxx.xxx.xxx:10811 TIME_WAIT 0
TCP 192.168.200.66:5133 89.xxx.xxx.xxx:10827 TIME_WAIT 0
TCP 192.168.200.66:5141 89.xxx.xxx.xxx:10835 TIME_WAIT 0
TCP 192.168.200.66:5144 89.xxx.xxx.xxx:10838 TIME_WAIT 0
TCP 192.168.200.66:5145 89.xxx.xxx.xxx:10839 TIME_WAIT 0
TCP 192.168.200.66:5147 89.xxx.xxx.xxx:10841 TIME_WAIT 0
TCP 192.168.200.66:5149 89.xxx.xxx.xxx:10843 TIME_WAIT 0
TCP 192.168.200.66:5152 89.xxx.xxx.xxx:10846 TIME_WAIT 0
TCP 192.168.200.66:5157 89.xxx.xxx.xxx:10851 TIME_WAIT 0
TCP 192.168.200.66:5162 89.xxx.xxx.xxx:10856 TIME_WAIT 0
TCP 192.168.200.66:5165 89.xxx.xxx.xxx:10859 TIME_WAIT 0
TCP 192.168.200.66:5167 89.xxx.xxx.xxx:10861 TIME_WAIT 0
TCP 192.168.200.66:5170 89.xxx.xxx.xxx:10864 TIME_WAIT 0
TCP 192.168.200.66:5174 89.xxx.xxx.xxx:10868 TIME_WAIT 0
TCP 192.168.200.66:5176 89.xxx.xxx.xxx:10870 TIME_WAIT 0
TCP 192.168.200.66:5179 89.xxx.xxx.xxx:10873 TIME_WAIT 0
TCP 192.168.200.66:5182 89.xxx.xxx.xxx:10876 TIME_WAIT 0
TCP 192.168.200.66:5186 89.xxx.xxx.xxx:10880 TIME_WAIT 0
TCP 192.168.200.66:5187 89.xxx.xxx.xxx:10881 TIME_WAIT 0
TCP 192.168.200.66:5188 89.xxx.xxx.xxx:10882 TIME_WAIT 0
TCP 192.168.200.66:5189 89.xxx.xxx.xxx:10883 TIME_WAIT 0
TCP 192.168.200.66:5190 89.xxx.xxx.xxx:10884 TIME_WAIT 0
TCP 192.168.200.66:5194 89.xxx.xxx.xxx:10888 TIME_WAIT 0
TCP 192.168.200.66:5196 89.xxx.xxx.xxx:10890 TIME_WAIT 0
TCP 192.168.200.66:5197 89.xxx.xxx.xxx:10891 TIME_WAIT 0
TCP 192.168.200.66:5198 89.xxx.xxx.xxx:10892 TIME_WAIT 0
TCP 192.168.200.66:5199 89.xxx.xxx.xxx:10893 TIME_WAIT 0
TCP 192.168.200.66:5200 89.xxx.xxx.xxx:10894 TIME_WAIT 0
TCP 192.168.200.66:5202 89.xxx.xxx.xxx:10896 TIME_WAIT 0
TCP 192.168.200.66:5203 89.xxx.xxx.xxx:10897 TIME_WAIT 0
TCP 192.168.200.66:5204 89.xxx.xxx.xxx:10898 TIME_WAIT 0
TCP 192.168.200.66:5205 89.xxx.xxx.xxx:10899 TIME_WAIT 0
TCP 192.168.200.66:5207 89.xxx.xxx.xxx:10901 TIME_WAIT 0
TCP 192.168.200.66:5208 89.xxx.xxx.xxx:10902 TIME_WAIT 0
TCP 192.168.200.66:5209 89.xxx.xxx.xxx:10903 TIME_WAIT 0
TCP 192.168.200.66:5210 89.xxx.xxx.xxx:10904 TIME_WAIT 0
TCP 192.168.200.66:5212 89.xxx.xxx.xxx:10906 TIME_WAIT 0
TCP 192.168.200.66:5213 89.xxx.xxx.xxx:10907 TIME_WAIT 0
TCP 192.168.200.66:5214 89.xxx.xxx.xxx:10908 TIME_WAIT 0
TCP 192.168.200.66:5222 89.xxx.xxx.xxx:10916 TIME_WAIT 0
TCP 192.168.200.66:5223 89.xxx.xxx.xxx:10917 TIME_WAIT 0
TCP 192.168.200.66:5224 89.xxx.xxx.xxx:10918 TIME_WAIT 0
TCP 192.168.200.66:5228 89.xxx.xxx.xxx:10922 TIME_WAIT 0
TCP 192.168.200.66:5235 89.xxx.xxx.xxx:10929 TIME_WAIT 0
TCP 192.168.200.66:5239 89.xxx.xxx.xxx:10933 TIME_WAIT 0
TCP 192.168.200.66:5241 89.xxx.xxx.xxx:10935 TIME_WAIT 0
TCP 192.168.200.66:5247 89.xxx.xxx.xxx:10941 TIME_WAIT 0
TCP 192.168.200.66:5250 89.xxx.xxx.xxx:10944 TIME_WAIT 0
TCP 192.168.200.66:5251 89.xxx.xxx.xxx:10945 TIME_WAIT 0
TCP 192.168.200.66:5255 89.xxx.xxx.xxx:10949 TIME_WAIT 0
TCP 192.168.200.66:5261 89.xxx.xxx.xxx:10955 TIME_WAIT 0
TCP 192.168.200.66:5263 89.xxx.xxx.xxx:10957 TIME_WAIT 0
TCP 192.168.200.66:5267 89.xxx.xxx.xxx:10961 TIME_WAIT 0
TCP 192.168.200.66:5268 89.xxx.xxx.xxx:10962 TIME_WAIT 0
TCP 192.168.200.66:5270 89.xxx.xxx.xxx:10964 TIME_WAIT 0
TCP 192.168.200.66:5273 89.xxx.xxx.xxx:10967 TIME_WAIT 0
TCP 192.168.200.66:5277 89.xxx.xxx.xxx:10971 TIME_WAIT 0
TCP 192.168.200.66:5282 89.xxx.xxx.xxx:10976 TIME_WAIT 0
TCP 192.168.200.66:5285 89.xxx.xxx.xxx:10979 TIME_WAIT 0
TCP 192.168.200.66:5287 89.xxx.xxx.xxx:10981 TIME_WAIT 0
TCP 192.168.200.66:5289 89.xxx.xxx.xxx:10983 TIME_WAIT 0
TCP 192.168.200.66:5293 89.xxx.xxx.xxx:10987 TIME_WAIT 0
TCP 192.168.200.66:5295 89.xxx.xxx.xxx:10989 TIME_WAIT 0
TCP 192.168.200.66:5297 89.xxx.xxx.xxx:10991 TIME_WAIT 0
TCP 192.168.200.66:5298 89.xxx.xxx.xxx:10992 TIME_WAIT 0
TCP 192.168.200.66:5300 89.xxx.xxx.xxx:10994 TIME_WAIT 0
TCP 192.168.200.66:5303 89.xxx.xxx.xxx:10997 TIME_WAIT 0
TCP 192.168.200.66:5306 89.xxx.xxx.xxx:11000 TIME_WAIT 0
TCP 192.168.200.66:5307 89.xxx.xxx.xxx:11001 TIME_WAIT 0
TCP 192.168.200.66:5309 89.xxx.xxx.xxx:11003 TIME_WAIT 0
TCP 192.168.200.66:5311 89.xxx.xxx.xxx:11005 TIME_WAIT 0
TCP 192.168.200.66:5315 89.xxx.xxx.xxx:11009 TIME_WAIT 0
TCP 192.168.200.66:5319 89.xxx.xxx.xxx:11013 TIME_WAIT 0
TCP 192.168.200.66:5320 89.xxx.xxx.xxx:11014 TIME_WAIT 0
TCP 192.168.200.66:5321 89.xxx.xxx.xxx:11015 TIME_WAIT 0
TCP 192.168.200.66:5323 89.xxx.xxx.xxx:11017 TIME_WAIT 0
TCP 192.168.200.66:5324 89.xxx.xxx.xxx:11018 TIME_WAIT 0
TCP 192.168.200.66:5333 89.xxx.xxx.xxx:11026 TIME_WAIT 0
TCP 192.168.200.66:5336 89.xxx.xxx.xxx:11029 TIME_WAIT 0
TCP 192.168.200.66:5340 89.xxx.xxx.xxx:11033 TIME_WAIT 0
TCP 192.168.200.66:5341 89.xxx.xxx.xxx:11034 TIME_WAIT 0
TCP 192.168.200.66:5346 89.xxx.xxx.xxx:11039 TIME_WAIT 0
TCP 192.168.200.66:5347 89.xxx.xxx.xxx:11040 TIME_WAIT 0
TCP 192.168.200.66:5357 89.xxx.xxx.xxx:11050 TIME_WAIT 0
TCP 192.168.200.66:5358 89.xxx.xxx.xxx:11051 TIME_WAIT 0
TCP 192.168.200.66:5360 89.xxx.xxx.xxx:11053 TIME_WAIT 0
TCP 192.168.200.66:5364 89.xxx.xxx.xxx:11057 TIME_WAIT 0
TCP 192.168.200.66:5368 89.xxx.xxx.xxx:11061 TIME_WAIT 0
TCP 192.168.200.66:5369 89.xxx.xxx.xxx:11062 TIME_WAIT 0
TCP 192.168.200.66:5370 89.xxx.xxx.xxx:11063 TIME_WAIT 0
TCP 192.168.200.66:5375 89.xxx.xxx.xxx:11068 TIME_WAIT 0
TCP 192.168.200.66:5376 89.xxx.xxx.xxx:11069 TIME_WAIT 0
TCP 192.168.200.66:5378 89.xxx.xxx.xxx:11071 TIME_WAIT 0
TCP 192.168.200.66:5380 89.xxx.xxx.xxx:11073 TIME_WAIT 0
TCP 192.168.200.66:5384 89.xxx.xxx.xxx:11077 TIME_WAIT 0
TCP 192.168.200.66:5385 89.xxx.xxx.xxx:11078 ESTABLISHED 5236

Reply with quote

Advertisement

djfirefox
Guest

Some additional Info:

Winscp client on server 2003 R2 connecting to 2008R2 server on FTPS Implict Passive connection

WinSCP version 5.5.4 build 4433

Using Via Gui

Error message from Winscp is Timeout, but on server you camn view all the datachannel ports getting maxed out.

Reply with quote

martin
Site Admin
martin avatar

Re: BUG - FTPS Port flooding - Consuming all dataports on server

Well, with passive mode, it's the server that suggests port to use. So it's not WinSCP choice whether to reuse the port or not. Also I do not think FileZilla reuses the port either. Can you attach a complete log file showing the problem, both using WinSCP and FileZilla (latest versions for both)?

Reply with quote

Advertisement

djfirefox
Guest

I'll try and get some log files to you, however I'm afraid it is a soft bug as WinSCP is the only client now that does this, filezilla used to do it but doesn't anymore. To use up the entire data channel range is unacceptable for a ftp application, especially if you are transferring hundreds of small files (e.g. EDI transmissions)

All 500 ports in the data channel range sit on TIME_WAIT before dropping which I know is normal, what is not normal is WinSCP consuming all 500 ports on the data channel.

File zilla and ffftp only consume 3 to 5. Can you explain that?

Sorry not meaning to sound sarcy. :)

Reply with quote

martin
Site Admin
martin avatar

I did some tests and I do not see a different between WinSCP and FileZilla is this respect. But maybe I'm missing something or there's something specific about your set up. Please get me the logs. Also as you claim that FileZilla "used to do it but doesn't anymore", do you know in what version approximately the behaviour changed?

Reply with quote

Advertisement

You can post new topics in this forum