Używam czegoś takiego do wysyłania pliku z jednego komputera na drugi:
Aby udostępnić plik (na komputerze A):
cat something.zip | nc -l -p 1234
Aby odebrać plik (na komputerze B):
netcat server.ip.here. 1234 > something.zip
Moje pytanie brzmi ... czy mogę zrobić coś przeciwnego? Załóżmy, że mam plik na komputerze B i chcę go wysłać do A, ale nie w sposób opisany powyżej, ale poprzez utworzenie komputera, który ma odbierać plik (A), być serwerem „nasłuchującym” i podłączyć komputer, który „wysyła” plik ( B) na serwer i wysłać plik? Czy to możliwe? Myślę, że tak, ale nie jestem pewien, jak to zrobić.
W przypadku, gdy moje powyższe wyjaśnienie zostanie pomieszane: Jak wysłać plik do „serwera” zamiast podawać plik na serwerze, a następnie pobierać go z niego (tak jak to zrobiłem powyżej)?
nc
ponieważscp
jest zbyt wolny i nie potrzebujesz szyfrowania, możesz przełączyć naudpcast
: superuser.com/questions/692294/…Odpowiedzi:
Na twoim serwerze (A):
W „kliencie nadawcy” (B):źródło
< /dev/null
częśćpv
, sugeruję obsługę „klienta serwera”pv soemthing.zip | ...
, ponieważ wyświetli on postęp odczytu pliku przechodzącego do potoku.Uwaga: jeśli chcesz zachować uprawnienia do plików, własność i znaczniki czasu, używamy tar z netcat do wykonywania transferów katalogów i plików.
W systemie odbiorczym:
Z systemu wysyłającego:
Mam nadzieję, że to pomaga.
źródło
Komputer A:
nc -l -p 1234 > filename.txt
Komputer B:
nc server.com 1234 < filename.txt
Powinien też działać;)
źródło
Uruchom inną instancję netcata na komputerze B. Po prostu zrób to, co zrobiłeś na komputerze A, ale podaj go z B. Daj nowemu serwerowi nowy port.
źródło