Ich habe nc (netcat) normalerweise mit JAVA gemacht

Ich habe versucht, lz4 dazwischen einzufügen, um die tatsächliche Geschwindigkeit der AIR-Leitung von Bereich A zum Büro zu erhöhen. Daher war ein Mechanismus zum Senden und Empfangen von Standardeingaben / -ausgaben über TCP erforderlich. Ich habe das beste Tool gefunden, als ich es nachgeschlagen habe nc (netcat) (Siehe das Gerät http://www.intellilink.co.jp/sites/default/files/imported/article/column/sec-network01.png) Wenn Sie es jedoch in Bereich A herunterladen, wird es von Buster gekickt. Ich kann es nicht ignorieren und nur aufzeichnen, dass ich diesen Kerl mit JAVA gemacht habe.

PG:

ncJava.java


package ncjava;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;


public class ncJava {

	public static void main(String[] args) throws Exception{
		if (args.length!=2) {
			System.err.println(
					"USAGE: ncJava toSTD/toTCP TCPIP:PORT"
					);
			return;
		}
		if (args[0].toUpperCase().equals("TOSTD")) {
			//Server TCP to STDOUT
			ServerSocket ss = new ServerSocket(
					new Integer(args[1].replaceAll("^([^:]+):(.+)$", "$2")) //PortPart
					,0
					,InetAddress.getByName(args[1].replaceAll("^([^:]+):(.+)$", "$1")) //IPpart
					);
			Socket as = null;
			System.err.println("stby:"+ss+" to STDOUT");
			try {
			  while((as = ss.accept()) != null ) {
				System.err.println("recive from TCP:"+as);

				byte buf[] = new byte[1024];
				int r = 0;
				while ((r=as.getInputStream().read(buf))!=-1) {
					System.out.write(buf,0,r);
					System.out.flush();
				}
				System.err.println("disconnect TCP:"+as);
			  }
			} finally {if (ss != null) ss.close();}
			return;

		}else if (args[0].toUpperCase().equals("TOTCP")) {
			//Server STDIN to TCP
			Socket sc = new Socket(
					InetAddress.getByName(args[1].replaceAll("^([^:]+):(.+)$", "$1")) //IPpart
					,new Integer(args[1].replaceAll("^([^:]+):(.+)$", "$2")) //PortPart
					);
			System.err.println("stby to:"+sc+" from STDIN");
			try {
				byte buf[] = new byte[1024];
				int r = 0;
				while ((r=System.in.read(buf))!=-1) {
					System.err.println("recive from STDIN:"+r);
					sc.getOutputStream().write(buf,0,r);
					sc.getOutputStream().flush();
				}
				System.err.println("disconnect STDIN:");
			} finally {if (sc != null) sc.close();}
			return;
		}
	}
}

Testergebnisse: Absender E:\MrServer>echo "testa" |java -jar ncJava.jar TOTCP localhost:9999 stby to:Socket[addr=localhost/127.0.0.1,port=9999,localport=54726] from STDIN recive from STDIN:10 disconnect STDIN:

E:\MrServer> Empfänger E:\MrServer>java -jar ncJava.jar TOSTD localhost:9999 stby:ServerSocket[addr=localhost/127.0.0.1,port=0,localport=9999] to STDOUT recive from TCP:Socket[addr=/127.0.0.1,port=54726,localport=9999] "testa" disconnect TCP:Socket[addr=/127.0.0.1,port=54726,localport=9999]

Absender E:\MrServer>type file.txt "engbJapan" "hhhhhhh"

E:\MrServer>java -jar ncJava.jar TOTCP localhost:9999 <file.txt stby to:Socket[addr=localhost/127.0.0.1,port=9999,localport=54728] from STDIN recive from STDIN:26 disconnect STDIN:

E:\MrServer> Empfänger recive from TCP:Socket[addr=/127.0.0.1,port=54728,localport=9999] "engbJapan" "hhhhhhh" disconnect TCP:Socket[addr=/127.0.0.1,port=54728,localport=9999]

das ist alles.

Recommended Posts

Ich habe nc (netcat) normalerweise mit JAVA gemacht
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
Ich habe versucht, mit Java zu interagieren
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Ich habe versucht, eine Android-Anwendung mit MVC zu erstellen (Java)
Ich habe Java gemacht, um (a == 1 && a == 2 && a == 3) immer wahr zu machen
Ich möchte Java8 für jeden mit Index verwenden
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Ich habe versucht, den Block mit Java zu brechen (1)
Ich habe versucht, TCP / IP + BIO mit JAVA zu implementieren
[Java 11] Ich habe versucht, Java auszuführen, ohne mit Javac zu kompilieren
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Ich habe versucht, Sterling Sort mit Java Collector zu implementieren
Ich möchte Bildschirmübergänge mit Kotlin und Java machen!
Java zum Spielen mit Function
Java - So erstellen Sie JTable
Stellen Sie mit Java eine Verbindung zur Datenbank her
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
Ich habe versucht, eine Java EE-Anwendung mit OpenShift zu modernisieren.
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
Ich wollte nur eine reaktive Eigenschaft in Java erstellen
Ich habe versucht, Java Optional und Guard-Klausel koexistieren zu lassen
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Ich habe einen RESAS-API-Client in Java erstellt
Ich möchte verschiedene Funktionen mit Kotlin und Java implementieren!
[Java] Ich möchte Standardeingabe und Standardausgabe mit JUnit testen
Einfacher LINE BOT mit Java Servlet Teil 2: Ich habe versucht, Bildnachrichten und Vorlagen zu erstellen
Eine Geschichte, die ich mit Java nur schwer herausfordern konnte
Java mit Ramen lernen [Teil 1]
Ich möchte mit link_to [Hinweis] eine Schaltfläche mit einem Zeilenumbruch erstellen.
[Java] Mit Arrays.asList () zu beachtende Punkte
So erstellen Sie einen Java-Container
Ich möchte mit Kotlin und Java zum vorherigen Bildschirm zurückkehren!
Wagen Sie es, Kaggle mit Java herauszufordern (1)
Ich habe versucht, UDP mit Java zu kommunizieren
Entwerfen Sie Muster für häufig verwendete Java-Bibliotheken - Fabrikmuster
Was ich mit Java Gold gelernt habe
Ich wollte die JavaFX-Programmierung mit dem Spring Framework vereinfachen
Ich habe versucht, das Java-Lernen zusammenzufassen (1)
[Java] Ich möchte mit dem Schlüssel im Objekt eindeutig arbeiten
Java, Arrays für Anfänger
Ich habe jetzt versucht, Java 8 zusammenzufassen
So erstellen Sie ein Java-Array
Ich habe versucht, mit Rails eine Gruppenfunktion (Bulletin Board) zu erstellen
[Java] Java soll in Ordnung sein, um Zeichenfolgen mit + zu verketten, also habe ich es überprüft
Ich möchte Bilder mit REST Controller von Java und Spring anzeigen!
Ich habe versucht, ein automatisches Backup mit angenehmem + PostgreSQL + SSL + Docker zu erstellen
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (PowerMockito Edition)
[iOS] Ich habe versucht, mit Swift eine insta-ähnliche Verarbeitungsanwendung zu erstellen
Ich möchte mit Jakarta EE 8 mit Java 11 ein dunkles Web-SNS erstellen
Ich habe Docker verwendet, um die Vorlage zu verfestigen, die mit Spring Boot entwickelt werden soll.
[Java] Ich möchte es einfacher machen, weil es schwierig ist, System.out.println einzugeben
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Ich möchte für jedes Array mit Lambda-Ausdruck in Java
So erstellen Sie eine App mit einem Plug-In-Mechanismus [C # und Java]
Schnittstelle Versuchen Sie, Java-Problem TypeScript 7-3 zu machen
So erstellen Sie eine Java-Kalenderzusammenfassung
Ich habe versucht, die verwendeten Methoden zusammenzufassen