Czy istnieje jakieś podstawowe narzędzie do otwierania określonego sieciowego portu TCP na moim komputerze?
Muszę sprawdzić, jak mój program radzi sobie z portami w stanie nasłuchiwania.
Czy istnieje jakieś podstawowe narzędzie do otwierania określonego sieciowego portu TCP na moim komputerze?
Muszę sprawdzić, jak mój program radzi sobie z portami w stanie nasłuchiwania.
Odpowiedzi:
netcat powinien robić, co chcesz. Niech słucha na twoim komputerze i echa STDOUT:
nc -4 -k -l -v localhost 1026
jeśli chcesz, aby zamknął się po zakończeniu połączenia, nie używaj -k
Ty masz
TCP Listen: http://www.allscoop.com/tcp-listen.php
Port Peeker: http://www.linklogger.com/portpeeker.htm
Narzędzie wiersza polecenia Microsoft Portqry.exe
Wypróbuj iperf. Istnieje wersja dla systemu Windows. Możesz po prostu uruchomić go tak iperf -s -p 1234
, aby nasłuchiwał na porcie 1234. Następnie możesz połączyć się z tym portem ze zdalnego komputera, wykonując coś takiego:
telnet 192.168.1.1 1234
iperf -c 192.168.1.1 1234
portqry -n 192.168.1.1 -e 1234
Będziesz musiał uzyskać iperf.exe
lub portqry.exe
dwa ostatnie. iPerf nie jest ściśle przeznaczony do tego zadania, ale doskonale nadaje się do rozwiązywania problemów z łącznością, dostępnością przepustowości, linkami do testów warunków skrajnych itp.
Wygląda na to, że to narzędzie zrobi dokładnie to, co chcesz, nawet wyświetlając otrzymane dane, jeśli chcesz: http://www.drk.com.ar/builder.php
Ma GUI zamiast wiersza poleceń, co dla niektórych jest zaletą.
W netpipes narzędzia kran i wąż zawsze służył mi dobrze, uproszczenie stdin
i stdout
na moje programy do korzystania z sieci.
Podobne do netcat .
Opis Ubuntu:
Pakiet netpipes umożliwia wykorzystanie strumieni TCP / IP w skryptach powłoki. Może także uprościć kod klient / serwer, pozwalając programiście pominąć wszystkie żmudne bity programowania związane z gniazdami i skoncentrować się na napisaniu filtra lub innej usługi.
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 - .
Jest to idealne zastosowanie dla Wireshark , analizatora pakietów i protokołów, który znajduje się pomiędzy stosem sieci Windows / Linux.
Umożliwi to przeglądanie wszystkich pakietów TCP / UDP odbieranych przez całe urządzenie, niezależnie od portu. Możesz także nakazać programowi odfiltrowanie tylko pakietów wysłanych przez określony port w celu dalszej analizy. Zaletą Wireshark jest to, że zapewnia bardzo szczegółowe komunikaty dla każdego pakietu - źródło, miejsce docelowe, port, adresy MAC, dane, daty, sumy kontrolne itp. Bardzo przydatne (i darmowe!) Narzędzie.
TCP Listen to NAJLEPSZA odpowiedź IMHO. Patrzyłem i podobało mi się Konstruktor TCP, ale POTRZEBUJESZ uprawnień administratora do uruchomienia tej aplikacji, NIE potrzebujesz ich z detektorem TCP, musisz także zainstalować Konstruktor TCP lub rozpakować i skopiować kilka plików, podczas gdy TCP Listener ma wartość 1 EXE, nic więcej.
Odbiornik TCP również nie potrzebował uprawnień administratora, a kiedy skanowałem go AV, nic nie mówiło, że jest złośliwy. Builder miał 1 AV na Virustotal, który powiedział, że był zły, ale okazał się fałszywie pozytywny (mam nadzieję) :)
Chociaż uruchomiłem Konstruktora do uruchamiania bez uprawnień administratora, nie mógł on zaczepić gniazda, podczas gdy Listener mógł. Po zakończeniu wszystkich testów mogłem po prostu usunąć 1 plik Listener i wszystko było jak wcześniej.
Netcat byłby miły, ale nie znalazłem wersji, która działałaby z serwerem 2012 lub nowszym. Aby więc w pełni przetestować, czy zapora sieciowa i zapory lokalne zezwalają na połączenie określonych portów TCP, detektor TCP wydaje się najlepszym narzędziem do tego zadania.
Cieszyć się!
Możesz użyć wersji Windows NetCat :
nc -l -v localhost -p 7
Lubię netcat w systemie Windows, ale pobieranie i instalowanie rzeczy z Internetu nie zawsze jest możliwe. Być może konfigurujesz serwer produkcyjny i chcesz przetestować reguły zapory przed (i bez) instalowaniem czegokolwiek.
Większość (wszystkich?) Serwerów Windows ma kompilator JScript.net. Możesz napisać zwykły stary plik wsadowy systemu Windows, który jest również poprawnym programem JScript.net, programem poliglotycznym .
tl; dr;
polyglot-listener.bat 1234
aby nasłuchiwać na porcie 1234
.Chodzi o to, aby znaleźć jsc.exe
plik wykonywalny w systemie:
for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
set "jsc=%%v"
)
I użyj go do skompilowania pliku wsadowego.
"!jsc!" /nologo /out:"%APPDATA%\listener.exe" "%~dpsfnx0"
Plik wsadowy zawiera podstawowy kod JScript.Net, który tworzy gniazdo synchroniczne, nasłuchuje, akceptuje połączenie i upuszcza wszystko, co do niego przychodzi:
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();
}
Skompilowany program zostanie zapisany jako %APPDATA%\listener.exe
. Może działać samodzielnie, skopiowany na serwer, ale kompilacja z pliku wsadowego polyglot będzie działać niezależnie od jakichkolwiek przeszkód w zakresie bezpieczeństwa na twojej drodze.
TCPView z zestawu narzędzi Sysinternals zapewnia bardzo ładny przegląd.