Chat in the terminal with WRITE - Linux
Indholdsfortegnelse:
- Netcat Syntax
- Port scanning
- Afsendelse af filer via Netcat
- Oprettelse af en simpel chatserver
- Udfører en HTTP-anmodning
- Konklusion
Netcat (eller nc) er et kommandolinjeværktøj, der læser og skriver data på tværs af netværksforbindelser ved hjælp af TCP- eller UDP-protokoller. Det er et af de mest kraftfulde værktøjer i netværks- og systemadministratorens arsenal, og det betragtes som en schweizisk hærkniv af netværksværktøjer.
Netcat er tværplatform, og det er tilgængeligt for Linux, macOS, Windows og BSD. Du kan bruge Netcat til at fejlsøge og overvåge netværksforbindelser, scanne efter åbne porte, overføre data, som en proxy og mere. Netcat-pakken er forinstalleret på macOS og populære Linux-distributioner som Ubuntu.
Netcat Syntax
Den mest basale syntaks i Netcat-værktøjet har følgende form:
nc host port
På Ubuntu kan du bruge enten
netcat
eller
nc
. De er begge symlinks til openBSD-versionen af Netcat.
Som standard vil Netcat forsøge at starte en TCP-forbindelse til den specificerede vært og port. Hvis du vil oprette en UDP-forbindelse, skal du bruge indstillingen
-u
:
Port scanning
Scanning af porte er en af de mest almindelige anvendelser til Netcat. Du kan scanne en enkelt port eller et portområde.
For eksempel for at scanne efter åbne porte i området 20-80 bruger du følgende kommando:
nc -z -v 10.10.8.8 20-80
Indstillingen
-z
fortæller
nc
om kun at scanne efter åbne porte, uden at sende nogen data til dem, og
-v
indstillingen for at give mere ordlyd information.
Outputet ser sådan ud:
nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded! nc: connect to 10.10.8.8 port 23 (tcp) failed: Connection refused… nc: connect to 10.10.8.8 port 79 (tcp) failed: Connection refused Connection to 10.10.8.8 80 port succeeded!
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!
Du kan også bruge Netcat til at finde serversoftwaren og dens version. Hvis du f.eks. Sender en “EXIT” -kommando til serveren på standard SSH-port 22:
echo "EXIT" | nc 10.10.8.8 22
Outputet ser sådan ud:
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4 Protocol mismatch.
For at scanne efter UDP-porte skal du blot tilføje
-u
indstillingen til kommandoen som vist nedenfor:
nc -z -v -u 10.10.8.8 20-80
I de fleste situationer er Nmap et bedre værktøj end Netcat til kompleks havnescanning.
Afsendelse af filer via Netcat
Netcat kan bruges til at overføre data fra en vært til en anden ved at oprette en grundlæggende klient / servermodel.
Dette fungerer ved at indstille Netcat til at lytte på en bestemt port (ved hjælp af indstillingen
-l
) på den modtagende vært og derefter oprette en almindelig TCP-forbindelse fra den anden vært og sende filen over den.
På den modtagende kørsel er følgende kommando, der åbner port 5555 for indgående forbindelse og omdirigerer output til filen:
nc -l 5555 > file_name
Fra den afsendende vært skal du oprette forbindelse til den modtagende vært og sende filen:
nc receiving.host.com 5555 < file_name
For at overføre et bibliotek kan du bruge tar til at arkivere biblioteket på kildeværten og til at udpakke arkivet på destinationshost.
På den modtagende vært skal Netcat-værktøjet indstilles til at lytte efter en indgående forbindelse på port 5555. De indkommende data ledes til tar-kommandoen, der udtrækker arkivet:
nc -l 5555 | tar xzvf -
På den afsendende vært pakkes biblioteket og sender dataene ved at oprette forbindelse til den lytterende
nc
proces på den modtagende vært:
tar czvf - /path/to/dir | nc receiving.host.com 5555
Du kan se overførselsforløbet i begge ender. Når
CTRL+C
afsluttet, skal du indtaste forbindelsen.
Oprettelse af en simpel chatserver
Proceduren for at oprette en online chat mellem to eller flere værter er den samme som ved overførsel af filer.
På den første vært starter en Netcat-proces for at lytte på port 5555:
nc -l 5555
Kør følgende kommando fra den anden vært for at oprette forbindelse til lytteporten:
nc first.host.com 5555
Hvis du nu skriver en meddelelse og trykker
ENTER
vises den på begge værter.
Skriv
CTRL+C
at lukke forbindelsen.
Udfører en HTTP-anmodning
Selvom der er meget bedre værktøjer til HTTP-anmodninger, såsom krøller, kan du også bruge Netcat til at sende forskellige anmodninger til fjernservere.
For eksempel at hente Netcat-man-siden fra OpenBSD-webstedet, skriver du:
printf "GET /nc.1 HTTP/1.1\r\nHost: man.openbsd.org\r\n\r\n" | nc man.openbsd.org 80
Det fulde svar inklusive HTTP-overskrifter og HTML-kode udskrives i terminalen.
Konklusion
I denne tutorial har du lært, hvordan du bruger Netcat-værktøjet til at etablere en og teste TCP- og UDP-forbindelser.
For mere information kan du besøge Netcat-man-siden og læse om alle andre magtfulde indstillinger i Netcat-kommandoen.
netcat terminalDocker køre kommando med eksempler

Kommandoen til docker-kørsel opretter en container fra et givet billede og starter containeren ved hjælp af en given kommando. Det er en af de første kommandoer, du skal blive fortrolig med, når du begynder at arbejde med Docker.
Curl-kommando i linux med eksempler

Curl er et kommandolinjeværktøj til overførsel af data fra eller til en server designet til at arbejde uden brugerinteraktion. I denne tutorial vil vi vise dig, hvordan du bruger krølleværktøjet gennem praktiske eksempler og detaljerede forklaringer på de mest almindelige krølleindstillinger.
Linux skåret kommando med eksempler

Cut er et kommandolinjeværktøj, der giver dig mulighed for at klippe dele af linjer fra specificerede filer eller rørdata og udskrive resultatet til standardoutput. I denne tutorial vil vi vise dig, hvordan du bruger Linux-klip-kommandoen gennem praktiske eksempler og detaljerede forklaringer af de mest almindelige klippemuligheder.