Проблема с подключением к серверу мэйнфреймов

#ftp #jobs #mainframe #filezilla

#ftp #Вакансии #мэйнфрейм #filezilla

Вопрос:

Я пытаюсь подключиться к серверу мэйнфреймов и отправить задание.

Я пробовал различные варианты, например, плагин Jenkins, написание Java-программы, использование командной строки Widows. Кажется, я застрял в какой-то момент. Кажется, он ожидает приветственного сообщения и тайм-аута после 20 секунд бездействия.

Использование командной строки:

 ftp> open  <IP Address> 23
Connected to <IP Address>.
Connection closed by remote host.
  

Использование примера программы Java:

Он застревает на ftp.connect (Имя_сервера,23); в течение очень долгого времени, а затем выдает приведенную ниже ошибку.

     java.io.IOException: Timed out waiting for initial connect reply
at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:393)
at org.apache.commons.net.ftp.FTPClient._connectAction_(FTPClient.java:924)
at org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:207)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:183)
at org.apache.commons.net.SocketClient.connect(SocketClient.java:203)
at com.ivl.util.FileTransferProtocol.main(FileTransferProtocol.java:60)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.read(Unknown Source)
at org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:314)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:294)
at org.apache.commons.net.ftp.FTP._connectAction_(FTP.java:387)
... 5 more
  

Я также пытаюсь использовать Filezilla, вот журнал filezilla, установленный на уровне отладки.

  12:38:36   Status: Connecting to <IP Address>:23...
12:38:36    Status: Connection established, initializing TLS...
12:38:36    Trace:  CTlsSocket::Handshake()
12:38:36    Trace:  CTlsSocket::ContinueHandshake()
12:38:36    Trace:  TLS handshake: About to send CLIENT HELLO
12:38:36    Trace:  TLS handshake: Sent CLIENT HELLO
12:38:36    Trace:  CTlsSocket::OnSend()
12:38:36    Trace:  CTlsSocket::OnRead()
12:38:36    Trace:  CTlsSocket::ContinueHandshake()
12:38:36    Trace:  CTlsSocket::OnRead()
12:38:36    Trace:  CTlsSocket::ContinueHandshake()
12:38:37    Trace:  CTlsSocket::OnRead()
12:38:37    Trace:  CTlsSocket::ContinueHandshake()
12:38:37    Trace:  TLS handshake: Received SERVER HELLO
12:38:37    Trace:  TLS handshake: Processed SERVER HELLO
12:38:37    Trace:  TLS handshake: Received CERTIFICATE
12:38:37    Trace:  TLS handshake: Processed CERTIFICATE
12:38:37    Trace:  TLS handshake: Received SERVER HELLO DONE
12:38:37    Trace:  TLS handshake: Processed SERVER HELLO DONE
12:38:37    Trace:  TLS handshake: About to send CLIENT KEY EXCHANGE
12:38:37    Trace:  TLS handshake: Sent CLIENT KEY EXCHANGE
12:38:37    Trace:  TLS handshake: About to send FINISHED
12:38:37    Trace:  TLS handshake: Sent FINISHED
12:38:37    Trace:  CTlsSocket::OnRead()
12:38:37    Trace:  CTlsSocket::ContinueHandshake()
12:38:37    Trace:  TLS handshake: Received FINISHED
12:38:37    Trace:  TLS handshake: Processed FINISHED
12:38:37    Trace:  TLS Handshake successful
12:38:37    Trace:  Protocol: TLS1.2, Key exchange: RSA, Cipher: AES-256-GCM, MAC: AEAD
12:38:37    Status: Verifying certificate...
12:38:37    Status: TLS connection established, waiting for welcome message...
12:38:37    Trace:  CFtpControlSocket::OnReceive()
12:38:57    Error:  Connection timed out after 20 seconds of inactivity
12:38:57    Trace:  CControlSocket::DoClose(2050)
12:38:57    Trace:  CFtpControlSocket::ResetOperation(2114)
12:38:57    Trace:  CControlSocket::ResetOperation(2114)
12:38:57    Error:  Could not connect to server
12:38:57    Trace:  CFileZillaEnginePrivate::ResetOperation(2114)
12:38:57    Status: Waiting to retry...
12:39:00    Trace:  CControlSocket::DoClose(64)
12:39:00    Trace:  CControlSocket::DoClose(64)
  

Я могу использовать Mocha TN3270 или любые эмуляторы мэйнфреймов для подключения к тому же серверу. Что странно.

Подключено с помощью Mocha

Я в недоумении относительно того, что может быть причиной этого и как устранить проблему, моя цель — подключить и отправить пакетное задание программно, я могу использовать пакетный файл, программу Java и т. Д. пока все мои попытки кажутся тщетными.

Комментарии:

1. Сеансы терминала не являются сеансами протокола передачи файлов (FTP). Для взаимодействия с мэйнфреймом потребуется специализированное программное обеспечение (подробности будут зависеть от деталей мэйнфрейма и того, как он настроен).

2. Если вам разрешен доступ к этой системе, кто-нибудь предоставит вам всю информацию о том, как вы сможете получить доступ к этой системе, никто здесь не сможет вам помочь.

3. Спасибо, я могу подключиться, используя любые эмуляторы мэйнфреймов, например, Mocha, и создавать и запускать задания, это работает. Это вся информация, которую я получил. Теперь я хочу иметь возможность запускать одно и то же задание в среде CI с помощью Jenkins, для этого я пробую Java или CMD

4. Поэтому вы должны сообщить об этом своим сотрудникам службы поддержки, а не нам.

Ответ №1:

Если я вас понимаю, вы пытаетесь подключиться с помощью FTP к порту 23? Это не тот порт, который обычно использует FTP. Порт 23 может быть тем, к которому подключается ваш TN3270, но FTP, вероятно, подключается к обычному порту 21, а Telnet / SSH, вероятно, подключается к другому порту — вам нужно спросить у вашего дружественного локального системного администратора, какой порт.

На самом деле, если вы сообщите им, что пытаетесь сделать, они, вероятно, смогут вам помочь или, возможно, скажут, что это запрещено. В любом случае вы должны быстрее получить реальный ответ, специфичный для вашей среды.

Комментарии:

1. Если параметр JESINTERFACELEVEL подсистемы ввода заданий установлен правильно, и вся сопутствующая безопасность на месте, то, что желает OP, может быть выполнено. Как уже неоднократно указывалось OP, они должны связаться со своим персоналом службы поддержки.