2011-12-27 2 views
0

내 요구 사항은 포트 및 화재 명령에서 텔넷 스크립트입니다.
수동으로 배시 모드에서이 작업을 수행 할 수 있습니다.
우선 i fire 명령 "telnet 0 3300"
그런 다음 "Enter Command :"라고 말합니다.
그런 다음 "LOGIN : sogadm : sogadm;"을 입력하십시오.
이제 포트에 로그인했습니다.
다음에 다시 "Enter Command :"프롬프트가 나타납니다.
이제 특정 명령을 실행할 수 있습니다. 이 간다 내가 어떻게 로그를 보여 주었다 아래쉘 스크립트에서 포트 및 화재 명령에 telnet

:


의 bash-3.00 # 텔넷 0 3300
는 0.0.0.0을 시도는 ...
문자는 0
탈출에 연결 '^]'.
CAI에 접속하기 ...

과정이 cai3300하게 연결 ...

하는 명령을 입력 : LOGIN : sogadm을 : sogadm을;
RESP : 0;
명령 입력 : SET : AIRSUB : MSISDN, 551100116 : ACTIONTYPE, REFILL : REFILLPROFILEID, 1 : TRANSACTIONAMOUNT, 500000 : TRANSACTIONCURRENCY, DZD;
응답 : 17200;


그래서 난 내 스크립트가 모두이 작업을 수행 할 수 :
명령을 입력합니다.
도와주세요.
미리 감사드립니다.

+0

출력 결과는 무엇입니까? 아니면 스크립트에서 원하는 것을 모범으로 삼았습니까? –

답변

-1

ssh를 사용하면 훨씬 쉽게 사용할 수 있습니다.
"ssh -luser 명령"을 사용할 수 있습니다. 암호를 물어볼 것이므로 암호를 입력해야합니다.
암호를 지정하지 않는 방법은 몇 가지가 있습니다. this link은 편도를 설명합니다.

+0

더 히어 닥 관련이없는 참고 용 – kaka

0

look up "here" documents. 예 :

telnet 0 3300 << EndOfTelnet 
sogadm:sogadm; 
0; 
SET:AIRSUB:MSISDN,551100116:ACTIONTYPE,REFILL:REFILLPROFILEID,1:TRANSACTIONAMOUNT,500000:TRANSACTIONCURRENCY,DZD; 
EndOfTelnet 

당신이 원하는 것을해야합니다. 스크립트 등에서 암호를 포함하는 것에 대한 표준주의 사항

+0

-1 작동 나던 SSH, 벙어리 에코 내가이 시도 – Sorin

+0

이봐 친구 텔넷 명령을하지 않으며 그것은 어느 정도 작동합니다 --- – kaka

1

expect 및 autoexpect를 찾는 것이 좋습니다. Expect는 대화 형 프로그램 (예 : 암호를 묻는 메시지, 예상 명령)을 제어하도록 설계되었습니다. Autoexpect는 샘플 세션에서 적절한 expect 스크립트를 생성 할 수있는 스크립트입니다.

실행과 같은 :

autoexpect telnet 0 3300 

및 완료 후, 생성 된 스크립트는 script.exp

이이 같은 라인을 통해 스크립트에 통합 할 수 있습니다

에있을 것입니다 : 스크립트를 기대합니다. exp

대부분의 스크립트 내용.특급 그것의 의견, 당신이 그들을 제거하고 bash는 스크립트에서 스크립트를 복사하고이 같은 실행할 수 있습니다 위에서 그냥 예입니다

echo 'set timeout -1 
spawn telnet 0 3300 
expect "Enter command:" 
send -- "LOGIN:sogadm:sogadm;" 
expect "Enter command:" 
send -- "SET:AIRSUB:MSISDN,551100116:ACTIONTYPE,REFILL:REFILLPROFILEID,1:TRANSACTIONAMOUNT,500000:TRANSACTIONCURRENCY,DZD;"' | expect 

주, 당신은 문서를 읽고 여러분의 필요에 적응해야한다.

다른 방법으로, Perl과 인터넷 :: 텔넷을 사용하여 전환 할 수 있습니다 당신은 nc (netcat을) 명령을 사용할 수 있습니다

-1

(난 당신이 더 편안 경우 파이썬은 비슷한이 있는지 확인 해요) :

cat command_list | nc 0 3300 

여기서 command_list는 한 줄에 하나씩 입력 할 명령 목록이 들어있는 파일입니다.

이것은 오류를 설명하지 않습니다. 즉, 암호가 바뀌 었습니다. 예를 들어, 각 입력 줄을 순서대로 보내면 원샷이됩니다.

관련 문제