Có một số tiện ích cơ bản để mở một cổng TCP mạng cụ thể trên máy của tôi không?
Tôi cần kiểm tra cách chương trình của tôi xử lý các cổng trong trạng thái nghe.
Có một số tiện ích cơ bản để mở một cổng TCP mạng cụ thể trên máy của tôi không?
Tôi cần kiểm tra cách chương trình của tôi xử lý các cổng trong trạng thái nghe.
Câu trả lời:
netcat nên làm những gì bạn muốn. Có nó nghe trên máy của bạn và lặp lại công cụ cho STDOUT:
nc -4 -k -l -v localhost 1026
khi bạn muốn nó đóng khi kết nối kết thúc, đừng sử dụng -k
Bạn có
Nghe TCP: http://www.allscoop.com/tcp-listen.php
Cổng Peeker: http://www.linklogger.com/portpeeker.htmlm
Tiện ích dòng lệnh của Microsoft Portqry.exe
Hãy thử iperf. Có một phiên bản cho Windows. Bạn chỉ có thể chạy nó như thế nào iperf -s -p 1234
và nó sẽ lắng nghe trên cổng 1234. Sau đó, bạn có thể kết nối với cổng đó từ một máy từ xa bằng cách thực hiện một việc như:
telnet 192.168.1.1 1234
iperf -c 192.168.1.1 1234
portqry -n 192.168.1.1 -e 1234
Bạn sẽ cần phải có được iperf.exe
hoặc portqry.exe
cho hai cuối cùng. iPerf không được thiết kế nghiêm ngặt cho nhiệm vụ này, nhưng thật tuyệt vời để khắc phục sự cố kết nối, tính sẵn có của băng thông, liên kết kiểm tra căng thẳng, v.v.
Có vẻ như tiện ích này sẽ thực hiện chính xác những gì bạn muốn, thậm chí hiển thị dữ liệu nhận được nếu bạn thích: http://www.drk.com.ar/builder.php
Nó có GUI chứ không chỉ là một dòng lệnh, một lợi thế cho một số người.
Các netpipes cụ vòi nước và vòi luôn phục vụ tốt cho tôi, đơn giản hóa stdin
và stdout
cho các chương trình của tôi để sử dụng qua mạng.
Tương tự như netcat .
Mô tả Ubuntu:
Gói netpipes làm cho các luồng TCP / IP có thể sử dụng được trong các tập lệnh shell. Nó cũng có thể đơn giản hóa mã máy khách / máy chủ bằng cách cho phép lập trình viên bỏ qua tất cả các bit lập trình tẻ nhạt liên quan đến ổ cắm và tập trung vào việc viết bộ lọc hoặc dịch vụ khác.
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 - .
Đây là cách sử dụng hoàn hảo cho Wireshark , một bộ phân tích gói và giao thức nằm giữa ngăn xếp mạng Windows / Linux.
Nó sẽ cho phép bạn xem tất cả các gói TCP / UDP mà toàn bộ máy của bạn nhận được, bất kể cổng. Bạn cũng có thể yêu cầu chương trình chỉ lọc các gói được gửi qua một cổng nhất định để phân tích thêm. Ưu điểm của Wireshark là nó cung cấp các thông điệp rất chi tiết cho từng gói - nguồn, đích, cổng, địa chỉ MAC, dữ liệu, ngày tháng, tổng kiểm tra, v.v ... Công cụ rất hữu ích (và miễn phí!).
Nghe TCP là câu trả lời TỐT NHẤT IMHO. Tôi đã xem và thích TCP Builder, nhưng bạn CẦN quyền quản trị để chạy ứng dụng đó, bạn KHÔNG cần chúng với trình nghe TCP và bạn cũng cần cài đặt TCP Builder, hoặc giải nén và sao chép một loạt các tệp, trong khi TCP Listener là 1 EXE, không có gì hơn.
TCP Listener cũng không cần quyền quản trị và khi tôi quét AV, không có gì nói nó độc hại. Builder đã có 1 AV trên Virustotal nói rằng nó rất tệ, nhưng hóa ra là dương tính giả (tôi hy vọng) :)
Trong khi tôi có Builder để chạy quyền quản trị sans, nó không thể kết nối ổ cắm trong khi Listener có thể. Khi tôi đã thực hiện tất cả các thử nghiệm của mình, tôi chỉ có thể xóa 1 tệp Listener và tất cả đều giống như trước đây.
Netcat sẽ rất tuyệt, nhưng tôi không tìm thấy phiên bản nào hoạt động với máy chủ 2012 trở lên. Vì vậy, để kiểm tra đầy đủ nếu tường lửa mạng và tường lửa cục bộ cho phép các cổng TCP cụ thể kết nối, trình nghe TCP có vẻ như là công cụ tốt nhất cho công việc này.
Thưởng thức!
Bạn có thể sử dụng phiên bản Windows của netcat :
nc -l -v localhost -p 7
Tôi thích netcat trên Windows, nhưng việc tải xuống và cài đặt nội dung từ Internet không phải lúc nào cũng có thể. Có thể bạn đang thiết lập một máy chủ sản xuất và bạn muốn kiểm tra các quy tắc tường lửa của mình trước khi (và không) cài đặt bất cứ thứ gì.
Hầu hết (tất cả?) Máy chủ Windows có trình biên dịch JScript.net. Bạn có thể viết tệp bó Windows cũ đơn giản cũng là chương trình JScript.net hợp lệ, chương trình polyglot .
tl; dr;
polyglot-listener.bat 1234
để nghe trên cổng 1234
.Ý tưởng là tìm jsc.exe
tệp thực thi trên hệ thống của bạn:
for /f "tokens=* delims=" %%v in ('dir /b /s /a:-d /o:-n "%SystemRoot%\Microsoft.NET\Framework\*jsc.exe"') do (
set "jsc=%%v"
)
Và sử dụng nó để biên dịch các tập tin hàng loạt.
"!jsc!" /nologo /out:"%APPDATA%\listener.exe" "%~dpsfnx0"
Tệp bó chứa mã JScript.Net cơ bản tạo ra một ổ cắm đồng bộ, lắng nghe, chấp nhận kết nối và loại bỏ mọi thứ đi kèm với nó:
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();
}
Chương trình biên dịch sẽ được lưu dưới dạng %APPDATA%\listener.exe
. Nó có thể tự chạy, được sao chép trên một máy chủ, nhưng biên dịch từ tệp bó polyglot sẽ hoạt động bất kể mọi rào cản bảo mật theo cách của bạn.
TCPView từ bộ công cụ Sysiternals cung cấp một cái nhìn tổng quan rất hay.