Czy jest możliwe „” rury instancji aplikacji konsoli poprzez netcata, więc netcat nasłuchuje dla nowego połączenia i przekierowuje stdin
i stdout
przez połączenie sieciowe.
linux
networking
console
netcat
jammmie999
źródło
źródło
<
lub>
) znacznie różni się od piping (|
), chociaż czasami można osiągnąć równoważną operację, używając kombinacji obu. Ponownie jednak dzięki przekierowaniu wejścia / wyjścia możesz zmienić lokalizację obu strumieni; potokowanie po prostu przekierowuje standardowe wyjście jednego procesu na standardowe wejście innego procesu.Odpowiedzi:
Cóż, jak udokumentowano w Wikipedii i
netcat
dokumentacji, istnieje-e
opcja, która powoduje, że spawnuje ( e xecute) program po otrzymaniu połączenia, podłączając gniazdo do stdin, stdout i stderr procesu. Przykładowe użycie:Przykłady często pokazują
/bin/sh
lubbash
są używane jako nazwa_programu . Nie zaleca się korzystania z tej opcji, ponieważ w zasadzie otwiera ona anonimowy, pozbawiony hasła portal dostępu do komputera. Oczywiście można to złagodzić, stosując program o mniejszej mocy niż powłoka (taka, która nie ma możliwości ucieczki do powłoki), minimalizując użycie jej i utrzymując ją w tajemnicy. Niemniej jednak pierwotni twórcynetcat
poczuli się na tyle mocno, że ta opcja była złym pomysłem, że domyślnie ją wyłączyli i uwarunkowali ją w opcji kompilacji „GAPING_SECURITY_HOLE”. Zostało to krótko wspomniane w tym samouczku NetCat i innejnetcat
dokumentacji.Wyszukiwarka Google doprowadziła mnie do dyskusji na ten temat w innych witrynach Stack Exchange: przepełnienie stosu i awaria serwera . Wielu współautorów zaoferowało następującą technikę zrobienia tego samego bez korzystania z
-e
opcji (tj. W wersji,netcat
która ma-e
wyłączoną opcję):Kilka uwag:
netcat
,-l
implikuje-p
, więc należy powiedzieć tylko-l
, a następnie numer portu.while true
pętlę.źródło