Diễn đàn không làm lập trình nhưng có nhiều cao nhân.Em đã bí lối không làm được nên em xin phép lại chạy lên hỏi code ạ mong các pro giúp hay gợi ý cho chút ạ.
Em muốn viết một chương trình dùng để check xem port của ip nó mở hay chưa.
1.Socket java bình thường=>Nhược tốc độ chậm,xem lý thuyết thì check bằng TCP SYN nó có thể nhanh hơn gấp chục lần
public static String checkPort(String ip) {
try (Socket socket = new Socket()) {
socket.connect(new InetSocketAddress(ip, 22), 6000);
}
}
nmap -sS đã áp dụng TCP SYN nó nhanh hơn nhưng không hỗ trợ luồng.Có cố cũng ko được do nmap nó nặng quá
private static void checkPortNmap(String ip) {
ProcessBuilder processBuilder = new ProcessBuilder().redirectErrorStream(true);
processBuilder.command("bash", "-c", "nmap -Pn -sS -p22 " + ip);
}
Em được tư vấn tìm hiểu được cách sử dụng thư viện dưới đây.
https://www.savarese.com/software/rocksaw/
=>Vấn đề của em là
1.Làm sao để nhúng cái thư viện kia vào project của mình trước đã mình chưa từng làm jni bao giờ mà khái niệm nó cũng khó hiểu quá
2.Nếu bác nào đã làm thì cho em cái mã thì tốt quá ạ