FTP script not working


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting FTP script not working
# 1  
Old 06-19-2017
FTP script not working

Hi,

I have one FTP script which simply sends the file to target server via netrc.it used to work as normal for years.recently target server IP got changed , same has been updated in .netrc but unable to connect it via FTP though netwrk guys already opened the port 21,20 and 22 .


NETRC
Code:
machine 10.255.23.157 login xxxxxx password yyyyyy
macdef imupload1
        cd /PROJECT_D/01_source_layer/01_raw_source_files/IFMSFUEL
        lcd $2
        prompt off
        ascii
        verbose on
        put $1
        quit

telnet output
PHP Code:
telnet 10.255.23.157 21
Trying 10.225.4.23
...
Connected to sasbi.mas.net.
Escape character is '^]'.
220 kjvjdw01 FTP server (Version 4.2 Mon Apr 28 09:58:37 CDT 2014ready
After executing the FTP script got below error

Code:
200 PORT command successful.
425      No data connection
quit
: A remote host did not respond within the timeout period.

anyone advise where the pointer went wrong.


Moderator's Comments:
Mod Comment Don't post confidential info - here: username / password - even if just valid for a private network.

Last edited by RudiC; 06-19-2017 at 06:00 AM.. Reason: obfuscated confidential data
# 2  
Old 06-19-2017
I would tentatively suggest that this could be a firewall problem. With a plain FTP (or what you have here) you might be trying to use what is called an Active connection, so there is a controlling connection (to port 21) and the server opens a data connection between another random port (there is probably a rule for this somewhere)

If the firewall does not allow the data connection, then i think you get this type of error - but it might not be exclusively this type of error. If you can make the FTP a Passive connection (i.e. the data and control all flows across the initial connection to port 21) then it should be okay.

Have a read of these to see if they help:-You might get away with just adding passive to you list of commands before you try to put the file.


I hope that this helps,
Robin
This User Gave Thanks to rbatte1 For This Post:
# 3  
Old 06-19-2017
This is how this would usually be configured.

The script would address the target host by name, e.g. jupiter

When ftp is called in a script:

Code:
ftp jupiter

the host name is looked up in /etc/hosts to produce the target ip address.
So the /etc/hosts entry for the target needs to be correct.

A .netrc record would then be:

Code:
machine jupiter login xxxxxx password yyyyyy

Also, for a .netrc to work at all.....
1. .netrc MUST be in the home directory of the user under which the ftp script is running
2. .netrc MUST be owned by that user.
3. .netrc MUST have access rights 600 giving read/write only to that user.

I initially suggest you check all that out to ensure the editing for change of ip address hasn't screwed any of that up.
This User Gave Thanks to hicksd8 For This Post:
# 4  
Old 06-20-2017
Quote:
You might get away with just adding passive to you list of commands before you try to put the file.
I have added and tried issue still remain same as below

Code:
put abcd.DAT
local: abcd.DAT remote: abcd.DAT
227 Entering Passive Mode (10,225,4,23,182,12)
ftp: connect: Connection timed out
quit
221 Goodbye.

even cant dir or ls as well.

Code:
 ftp 10.251.29.30
Connected to 10.251.29.30
220 10.251.29.30 FTP server ready.
331 Password required for XXXX.
230 User XXXX logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> dir
227 Entering Passive Mode (10,225,4,23,205,0)
ftp: connect: Connection timed out




Quote:
1. .netrc MUST be in the home directory of the user under which the ftp script is running
2. .netrc MUST be owned by that user.
3. .netrc MUST have access rights 600 giving read/write only to that user.
I have verified all are in place.

note: to the same target machine have tried from another source machine and FTP works fine from there.

---------- Post updated 06-20-17 at 02:49 AM ---------- Previous update was 06-19-17 at 09:28 PM ----------

.................
# 5  
Old 06-20-2017
What OS's are the client and server?

Has the network topology changed at all concurrent with the change of ip address?

I would be thinking that somewhere on the route the required payload is not allowed. Connecting the FTP session is achieved with quite small packets but as soon as you attempt to do anything else, the payload will radically increase. If devices have different maximum payloads configured then packets are denied, ie, lost. Timeout would result. I also wonder whether one device is trying to open a different port at that point which is denied.

I'm still thinking about this one. Strange!

---------- Post updated at 09:24 AM ---------- Previous update was at 09:20 AM ----------

Using PASV as suggested by rbatte1 is the most common resolution of such problems but the ports used in passive mode need to be open too.

Are you using the native ftp client and server implementations from your OS's? Or are you using a third party variant?

Last edited by hicksd8; 06-20-2017 at 05:34 AM..
These 2 Users Gave Thanks to hicksd8 For This Post:
# 6  
Old 06-20-2017
source and destination servers are linux.

Yes there are new network rules/policies in place but network guys have opened the port 21 already .

the one is working which is working it sits in the same DC where target machine is there.

but the questioned server unable to place the file is in different Data center.
# 7  
Old 06-20-2017
Yes, but if you search the web for "ftp passive" mode you will see that, typically, another port is opened when passive is requested. It's often in the range 50000-51000 so network teams open that range too.

If you have tested from a third party host and it works okay, what happens if you try between that third party and the troublesome box? (I appreciate one of those has to act as a ftp server which isn't quite the same thing, however, if we think we have a network issue here, it would be an interesting test.)

Last edited by hicksd8; 06-21-2017 at 03:43 AM..
These 2 Users Gave Thanks to hicksd8 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

FTP script not working

Hi , Hi , seems in my code '\' is ignoring in user id and considering DB_SVCGPRUAT as a ID and failing to connect to the FTP server. my complete ID 'BD\SVCGPRUAT', how to rectify this error. #!/bin/bash myuser='"BD\_SVCGPRUAT" { BD is domain } mypass='Welcome$123'... (4 Replies)
Discussion started by: Riverstone
4 Replies

2. Shell Programming and Scripting

FTP using script not working (for transfering file from a remote unix server to windows PC.)

hi, Im using the following code for FTP #!/usr/bin/ksh ftp -v -n "10.29.45.11" << cmd user "mahesva" "mahesva123" get rtl.tar quit cmd Below is the log when i run the above code ********************************** Connected to 10.29.45.11. 220 (vsFTPd 2.0.1) 530 Please login with USER... (20 Replies)
Discussion started by: dll_fpga
20 Replies

3. Shell Programming and Scripting

Script not working after FTP

Hi Gurus, I prepared a script to process some files and then ftp the output file to mainframe directory. Here is the code snippet for the same. # Perform FTP echo "put $TGT_DR/$K.$F.$I.$K1.$RUN_TYPE '$K.$F.$I.$K1.$RUN_TYPE'" >> $LogFile ftp -i -n <<EOF >> $LogFile open... (2 Replies)
Discussion started by: svajhala
2 Replies

4. Shell Programming and Scripting

bash script for ftp-upload is not working

Hello everyone, sorry for the title, most of you must getting sick of reading something like this, but I haven't found a solution, although I found many threads according to it. I'm working on a bash script that connects to a network printer with ftp where I want to upload a pdf created... (3 Replies)
Discussion started by: le_mae
3 Replies

5. Linux

FTP not working under Linux but working under any other OS ??? Very strange

Dear all, I am totally despaired and puzzled. Using Filezilla under Windows under the same network as our Linux servers is working. Using FTP command-line client under any of our Linux debian servers is not working ! I tried with different FTP servers -> same problem ! All commands are... (12 Replies)
Discussion started by: magix_ch
12 Replies

6. UNIX for Advanced & Expert Users

Unix FTP Script connecting through proxy Not working

Hi All, can some one please help me to solve this issue, its urgent:confused: We need to FTP a file form our Unix server to an external client FTP location. I am trying to connect to the proxy server first and then use the below USER comment to connect to the external FTP server, and its working... (3 Replies)
Discussion started by: JesusJoseph
3 Replies

7. Shell Programming and Scripting

ftp in shell script is not working

Hi All, I have writtern a shell script which has a sql query. I want to send the results of sql query to a shared area over a network.I also want to log the errors in a log file if the text file is not sent to shared area. The results of sql query are spooled in TEMPFILE. LOGFILE... (1 Reply)
Discussion started by: nsachin
1 Replies

8. Cybersecurity

FTP is not working.

Hi, I'm getting the following error while trying to use the ftp command. ---------------- 331 Password required for prodofsa. Password: 230 User prodofsa logged in. ftp> ftp> ftp> ftp> ls 200 PORT command successful. 425 Can't build data connection: Connection timed out. ftp>... (10 Replies)
Discussion started by: ronald_brayan
10 Replies

9. Shell Programming and Scripting

FTP script not working

hi I have made d below ftp script but the last part of script ie. moving the files after transfer (to a location in the source server only) is not working for me. Can anybody pls..help.in same..!!! ####################################################### #!/bin/sh ftp -n 10.209.13.11... (2 Replies)
Discussion started by: rookie250
2 Replies

10. Shell Programming and Scripting

mput is not working in ftp script

1)In this script mput command is not working( not transfering multiple files, it is able to send single file) 2)here is the script to automate the ftp process . 3)for transfering files from one machine to other machine using ftp can anyone can give me the solution in this issue Script is... (6 Replies)
Discussion started by: gsri
6 Replies
Login or Register to Ask a Question