컴퓨터에서 특정 네트워크 TCP 포트를 여는 기본 유틸리티가 있습니까?
프로그램이 청취 상태의 포트를 처리하는 방법을 테스트해야합니다.
컴퓨터에서 특정 네트워크 TCP 포트를 여는 기본 유틸리티가 있습니까?
프로그램이 청취 상태의 포트를 처리하는 방법을 테스트해야합니다.
답변:
netcat 은 원하는 것을해야합니다. STDOUT으로 기계를 청취하고 물건을 에코하십시오.
nc -4 -k -l -v localhost 1026
연결이 끝날 때 닫히려면 -k를 사용하지 마십시오.
당신은
TCP 청취 : http://www.allscoop.com/tcp-listen.php
포트 피커 : http://www.linklogger.com/portpeeker.htm
Microsoft의 명령 줄 유틸리티 Portqry.exe
iperf를 사용해보십시오. Windows 용 버전이 있습니다. 다음과 같이 실행하면 iperf -s -p 1234
포트 1234에서 수신 대기합니다. 그런 다음 다음과 같은 작업을 수행하여 원격 시스템에서 해당 포트에 연결할 수 있습니다.
telnet 192.168.1.1 1234
iperf -c 192.168.1.1 1234
portqry -n 192.168.1.1 -e 1234
당신은 얻을 필요가 iperf.exe
또는 portqry.exe
마지막 이틀 동안. iPerf는이 작업을 위해 엄격하게 설계된 것은 아니지만 연결 문제, 대역폭 가용성, 스트레스 테스트 링크 등의 문제를 해결하는 데 유용합니다.
http://www.drk.com.ar/builder.php :이 유틸리티는 원하는대로 정확하게 수행하고 수신 된 데이터를 표시하는 것처럼 보입니다.
명령 줄이 아닌 GUI가있어 일부에게는 이점이 있습니다.
netpipes의 도구는 수도꼭지 와 호스는 항상 단순화, 저를 잘 봉사 한 stdin
및 stdout
내 프로그램이 네트워크를 통해 사용하기.
netcat과 유사합니다 .
우분투 설명 :
netpipes 패키지는 쉘 스크립트에서 TCP / IP 스트림을 사용할 수있게합니다. 또한 프로그래머가 소켓과 관련된 모든 지루한 프로그래밍 비트를 건너 뛰고 필터 또는 기타 서비스 작성에 집중할 수 있도록하여 클라이언트 / 서버 코드를 단순화 할 수 있습니다.
EXAMPLES
This creates a TCP-IP socket on the local machine bound to port 3000.
example$ faucet 3000 --out --verbose tar -cf - .
Every time some process (from any machine) attempts to connect to port 3000 on this machine the faucet program will fork(2) a process and the child
will exec(2) a
tar -cf - .
이는 Windows / Linux 네트워킹 스택 사이에있는 패킷 및 프로토콜 분석기 인 Wireshark에 완벽하게 사용됩니다 .
포트에 관계없이 전체 시스템에서 수신 한 모든 TCP / UDP 패킷을 볼 수 있습니다. 추가 분석을 위해 특정 포트를 통해 전송 된 패킷 만 필터링하도록 프로그램에 지시 할 수도 있습니다. Wireshark의 장점은 소스, 대상, 포트, MAC 주소, 데이터, 날짜, 체크섬 등 각 패킷에 대해 매우 상세한 메시지를 제공한다는 것입니다. 매우 유용하고 무료 인 도구입니다.
가장 좋은 대답은 IMHO입니다. TCP Builder를보고 좋아했지만 해당 응용 프로그램을 실행하려면 관리자 권한이 필요하며 TCP 리스너와 함께 필요하지 않으며 TCP Builder를 설치하거나 많은 파일의 압축을 풀고 여러 파일을 복사해야하지만 TCP Listener는 1입니다. EXE는 더 이상 없습니다.
TCP Listener에는 관리자 권한이 필요하지 않았으며 AV를 검색했을 때 악의적이라고 말한 것은 없습니다. 빌더는 Virustotal에 1 AV가 나쁜 것이라고 말했지만 거짓 긍정으로 판명되었습니다.
빌더가 sans 관리자 권한을 실행하도록하는 동안 리스너는 소켓을 후크 할 수 없습니다. 모든 테스트를 수행 한 후에는 리스너의 1 개 파일 만 삭제할 수 있었고 모두 이전과 동일했습니다.
Netcat은 좋았지 만 2012 이상의 서버에서 작동하는 버전을 찾지 못했습니다. 따라서 네트워크 방화벽과 로컬 방화벽이 특정 TCP 포트의 연결을 허용하는지 테스트하려면 TCP 리스너가이 작업에 가장 적합한 도구 인 것 같습니다.
즐겨!
Windows에서는 netcat을 좋아하지만 인터넷에서 다운로드 및 설치가 항상 가능한 것은 아닙니다. 프로덕션 서버를 설정하고 설치하기 전에 방화벽 규칙을 테스트하고 싶을 수도 있습니다.
대부분의 (모든?) Windows 서버에는 JScript.net 컴파일러가 있습니다. 유효한 JScript.net 프로그램 인 polyglot 프로그램 인 일반 Windows 배치 파일을 작성할 수 있습니다 .
tl; dr;
polyglot-listener.bat 1234
포트에서 청취하려면 입력하십시오 1234
.아이디어는 jsc.exe
시스템 에서 실행 파일 을 찾는 것입니다.
for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
set "jsc=%%v"
)
그리고 배치 파일을 컴파일하는 데 사용하십시오.
"!jsc!" /nologo /out:"%APPDATA%\listener.exe" "%~dpsfnx0"
배치 파일에는 동기 소켓을 작성하고 청취하며 연결을 수락하고 모든 것을 삭제하는 기본 JScript.Net 코드가 포함되어 있습니다.
listener.Bind(localEndPoint);
listener.Listen(10);
// Start listening for connections.
while (true) {
var data:byte[] = new byte[1024];
Console.WriteLine("Waiting for a TCP connection on {0}:{1}...", ipAddress, port);
var handler = listener.Accept();
Console.WriteLine("Connected to {0}", handler.RemoteEndPoint);
try {
// An incoming connection needs to be processed.
while (handler.Receive(data) > 0);
} finally {
Console.WriteLine("Disconected\n");
}
handler.Shutdown(SocketShutdown.Both);
handler.Close();
}
컴파일 된 프로그램은로 저장됩니다 %APPDATA%\listener.exe
. 자체적으로 실행되고 서버에서 복사 될 수 있지만 폴리 글 로트 배치 파일에서 컴파일하면 보안 장애에 관계없이 작동합니다.
Sysinternals 툴킷의 TCPView 는 매우 유용한 개요를 제공합니다.