2009-11-21 6 views
1

서버에서 실행되는 스크립트가 있으며 지금 내 PC로 메시지를 보내려고합니다. 일부 포트에 TCP 또는 UDP 메시지를 보내려고합니다.Perl을 사용하여 TCP 및 UDP를 통해 원격 시스템에 어떻게 연결할 수 있습니까?

이 작업을 수행하는 가장 좋은 방법은 무엇입니까 (자습서는 훌륭합니다)?

메시지에 대한 로컬 포트를 수신하는 내 PC에서 실행할 수있는 클라이언트 프로그램이 있습니까?

답변

0

다양한 방법이 있습니다. 가장 쉬운 방법 중 하나는 프로그램에서 이메일 주소를 이메일로 보내는 것입니다. Perl에서는 다음과 같이 사용할 수 있습니다. Email::Send. 다른 방법으로는 소켓을 포함하거나 프로그램이 PC의 웹 서버에 액세스하도록하는 것입니다. 사용하려는 시설에 따라 다릅니다. 나는 보통 ssh 명령을 사용하여 네트워크상의 다른 컴퓨터에 액세스합니다.

+0

나는 펄에 초보자이며, 우리는 그 서버에 smtp 서버를 갖고 있지 않다. –

+0

당신이하고 싶은 것이 무엇인지 명확하지 않으므로 분명한 대답을 드릴 수는 없습니다. –

+0

일부 포트에 tcp 또는 udp 마사지를 보내고 싶습니다. –

0

당신은

그물 전송 서비스입니다 텟 확인 내가 컴퓨터 메시지를 펄을 알고 있지만 CMD 순 보내기 시작하지 않는 CMD에 대한 추가 정보를 원하시면 "순 도움말 보내기"쓰기, 당신의 창에있는 경우 순 보내기 사용할 수 있습니다 실행 중 ... 자세한 정보는 google it.

+0

Net Send가 회사 네트워크에서 차단되었습니다. –

+0

그리고 sp3에서 기본값이 차단되었습니다. –

+0

가치가 있었습니까 : P – Peter

8

예를 들어, 소켓을 사용하여 TCP 및 UDP 메시지를 보낼 수있는 클라이언트 :

my $socket = new IO::Socket::INET (LocalHost => 'hostname', 
    LocalPort => '1234', Proto => 'tcp', Listen => 1, Reuse => 1); 
my $incoming = $sock->accept(); 
while(<$incoming>) { 
    print $_; 
} 
close($incoming); 

: 서버가 포트에서 수신 대기하고에 도착 메시지를 수락하는

use IO::Socket; 
my $socket = IO::Socket::INET->new(PeerAddr => 'theserver', 
    PeerPort => '1234', Proto => 'tcp', Type => SOCK_STREAM); 
print $socket "Hello server!"; 
close($socket); 

이것은 빙산의 일각에 지나지 않지만 희망을 갖고 시작하면 도움이 될 것입니다.

+0

내 포트를들을 수있는 포트 스니퍼를 알고 있습니까? wireshark와 같은 무거운 것들 ... –

+1

포트 스니퍼는 네트워크 트래픽을 표시하지만 실제로는 수신하지 않습니다. 예를 들어'nc -l -p 1234'와 같이 듣는 netcat이라는 유틸리티가 있습니다. http://www.catonmat.net/blog/unix-utilities-netcat/ – Andomar

2

perlipc 설명서를 읽기 시작하십시오. 여기에는 간단한 서버 및 클라이언트의 예가 포함되어 있습니다 (예 : 제대로 대몬 화하는 방법).

1

약간 날짜가 있지만, 링컨 스타 인 (Lincoln Stein)이 Network Programming with Perl 사본을 찾고 싶습니다. 또한 이름에 Socket 인 Perl 모듈을 살펴보십시오.

관련 문제