Netcat
Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den
version , der blev gennemgået den 11. juni 2015; checks kræver
15 redigeringer .
netcat ( engelsk net netværk + kat ) er et Unix-værktøj, der giver dig mulighed for at etablere TCP- og UDP-forbindelser, modtage data derfra og sende dem. På trods af dets anvendelighed og enkelhed er dette værktøj ikke inkluderet i nogen standard (for eksempel POSIX ).
Handling
I et simpelt tilfælde kaldes NetCat som:
nc
værtsport _
Dette resulterer i, at en TCP-forbindelse oprettes med de angivne legitimationsoplysninger og kortslutter standardinput til netværksoutput og omvendt, standardoutput til netværksinput. Denne funktionalitet minder om kat-kommandoen , som førte til valget af navnet "netcat". Hvis forbindelsen mislykkes, udskriver programmet en fejlmeddelelse til stderr .
Værktøjet genkender følgende nøgler:
-h
|
Reference; der bliver ikke gjort noget
|
-v
|
Yderligere diagnostik (verbose)
|
-o output_fil
|
Outputdatadumps _ _
|
-i nummer
|
Forsinkelse mellem sendte data (i sekunder )
|
-t
|
Telnet- kompatibel
|
-z
|
Send ikke data (portscanning)
|
-u
|
Opret forbindelse via UDP (i stedet for TCP)
|
-l
|
Passiv tilstand (lytter på en port)
|
-p nummer
|
* Lokalt portnummer (for -l)
|
-s vært
|
Brug den angivne lokale ("egen") IP-adresse
|
-n
|
Deaktiver DNS- og portnummeropslag i /etc/services
|
-w nummer
|
Indstil timeout (i sekunder)
|
-q nummer
|
Indstil timeout efter EOF på input (i sekunder) **
|
-e eksekverbar
|
! Kør det angivne program for at kommunikere med netværket (i stedet for standard input og output)
|
-c kommando
|
! Det samme, som en kommando for /bin/sh
|
-k
|
Fortsæt med at lytte efter andre forbindelser, efter at den aktuelle forbindelse er blevet afbrudt.
|
! - kræver en speciel samling, deaktiveret i de medfølgende eksekverbare filer (opretter nemt en netværkssårbarhed).
* - i nogle implementeringer er portnummeret til lytning indstillet via -l, og -p-switchen mangler.
** - ikke tilgængelig i alle versioner.
Muligheder:
- -d. Kun tilgængelig på Windows. Gør Netcat usynlig. Du kan køre programmet i lyttetilstand uden at åbne MS-DOS-tilstandsvinduet. Det giver også kiks til bedre at maskere et kørende program fra systemadministratorer.
- -e <kommando>. Hvis Netcat er kompileret med indstillingen GAPING_SECURITY_HOLE, kan et program udføre en <kommando>, når nogen etablerer en forbindelse på lytteporten, så længe Netcat-klienten omdirigerer I/O til det kørende program. Det er ret farligt at bruge denne mulighed, hvis du ikke helt forstår, hvad du laver. Dette er en hurtig og nem måde at åbne en "bagdør" til dit system. Et eksempel vil blive givet herefter.
- -i <sekunder>. Forsinkelsesinterval mellem overførsler af datastykker. Hvis en fil sendes gennem Netcat-pipelinen, venter programmet <sekunder> sekunder, før den sender den næste linje som input. Hvis du bruger Netcat til at administrere flere porte på den samme vært, venter Netcat <sekund> sekunder, før der oprettes forbindelse til den næste port på linjen. Dette gør det muligt lidt at maskere en dataoverførsel eller et systemserviceangreb, og det gør det muligt at maskere portscanninger fra nogle software til indtrængningsanalyse og fra systemadministratorer.
- -g <ruteliste>. At bruge denne mulighed kan være ret ikke-trivielt. Netcat understøtter muligheden for at maskere oprindelsen af routing (diskuteret mere detaljeret i Make a Friend: IP Address Spoofing). Du kan angive op til otte -g-indstillinger på kommandolinjen for at tvinge Netcat til at dirigere trafik gennem specifikke IP-adresser, som typisk bruges, hvis du forfalsker den oprindelige IP-adresse, som din trafik kommer fra (for eksempel for at forsøge at omgå en firewall eller check for tilladte værter). Ved at bruge dette trick på den maskine, du styrer processen fra, kan du få transmitterede pakker til at returnere til den adresse, du angiver, i stedet for at videresende dem i den rigtige retning. Bemærk, at dette normalt ikke virker, fordi de fleste routere ignorerer mulighederne for routingkilde, og mange filtre og firewalls logger sådanne forsøg.
- -G <hop pointer>. Denne indstilling giver dig mulighed for at ændre routinglisten angivet af -g-indstillingen for at bestemme, hvilken adresse du skal hoppe til. Fordi en IP-adresse er et fire-byte-tal, er dette argument altid et multiplum af fire, hvor 4 er den første IP-adresse på listen, 8 er den anden, og så videre. Denne mulighed bruges normalt, hvis du forsøger at forfalske en routingliste, så det ser ud til, at pakkerne kommer et andet sted fra. Ved at ignorere de to første IP-adresser på listen specificeret af -g-indstillingen og angive tallet 12 i -G-indstillingen, vil du få pakker dirigeret direkte til den tredje adresse i din routingliste. Det faktiske indhold af pakken vil stadig indeholde de IP-adresser, der blev sprunget over, hvilket får det til at se ud, som om pakkerne kom fra én adresse, når de faktisk kom et andet sted fra. Denne teknik giver dig mulighed for at skjule, hvor du kom fra til værten, når du bruger adresse-spoofing eller en routing-liste, men det er ikke garanteret, at du vil kunne få et svar, da det vil blive dirigeret tilbage gennem dine spoofede IP-adresser.
- -l. Denne mulighed skifter Netcats "lytte"-tilstand. Den bruges sammen med -p-indstillingen til at binde Netcat til en specifik TCP-port og lytte efter indgående forbindelser. Brug indstillingen -u for at bruge UDP-porten.
- -L. Kun tilgængelig i Windows-versionen af programmet, en mere restriktiv "lytte"-tilstand end -l. Det fortæller programmet at genstarte med de samme parametre, hvis forbindelsen blev lukket. Dette giver Netcat mulighed for at overvåge efterfølgende forbindelser uden brugerindblanding, hver gang den indledende forbindelse slutter. Som med -l-indstillingen skal denne mulighed bruges sammen med -p-indstillingen.
- -n fortæller Netcat ikke at slå nogen værter op. Hvis du bruger denne mulighed, bør du ikke angive nogen værtsnavne som argumenter.
- -o <hexfile> forårsager, at et hexadecimalt dump af dataene genereres og gemmes i en hexfil. Kommandoen nc -o hexfile skriver data, der går i begge retninger og starter hver linje med < eller > for at angive henholdsvis input eller output. For kun at skrive indgående data til en fil, skal du bruge kommandoen nc -o <hexfile. Derfor, for kun at skrive udgående data, skal du bruge kommandoen nc -o >hexfile.
- -p <port>. Denne mulighed giver dig mulighed for at angive det lokale portnummer, som Netcat skal bruge. Dette argument er påkrævet, hvis du bruger indstillingerne -l eller -L til lyttetilstand. Hvis denne mulighed ikke er angivet for en udgående forbindelse, vil Netcat bruge den port, der er defineret til dette på systemet, hvilket er hvad de fleste TCP- eller UDP-klienter gør. Husk, at på Unix-systemer er det kun root-brugeren, der kan definere portnumre mindre end 1024.
- -r. Netcat vælger de lokale og eksterne porte tilfældigt. Denne mulighed er nyttig, når Netcat bruges til at indhente information om en lang række portnumre på et system og præsentere situationen på en måde, der er mindre som en portscanning. Hvis denne funktion bruges sammen med -i-indstillingen og med et tilstrækkeligt stort interval, er det sandsynligt, at portscanningen ikke vil blive opdaget uden omhyggelig undersøgelse af systemloggen af administratoren.
- -s Angiver den udgående IP-adresse, som Netcat bruger til at etablere en forbindelse. Denne mulighed giver hackere mulighed for at udføre nogle smarte tricks: skjule deres IP-adresse eller forfalske noget andet. Men for at få oplysningerne sendt til den forfalskede adresse, skal de bruge -g routing bestillingsmuligheden. Ved at bruge lyttetilstanden kan du gentagne gange binde dig til en allerede lyttet tjeneste. Alle TCP- og UDP-tjenester fungerer på porte, men ikke alle fungerer på en bestemt IP-adresse. Mange tjenester lytter som standard på alle tilgængelige grænseflader. Syslog lytter for eksempel på UDP-port 514 for at læse syslog-trafik. På samme tid, hvis du starter Netcat-lytning på port 514 og bruger -s-muligheden til at bestemme den udgående IP-adresse, vil enhver trafik, der passerer gennem den IP-adresse, du angiver, blive dirigeret gennem Netcat i første omgang. Hvorfor? Hvis en socket angiver både en IP-adresse og et portnummer, angiver det dens prioritet over en socket, der ikke specificerer begge. Senere vil vi tale om dette mere detaljeret og demonstrere, hvordan man bestemmer, hvilken tjeneste i systemet, der kan foruddefineres.
- -t. Kompileret med TELNET-muligheden, kan Netcat kommunikere med telnet-serveren i henhold til etablerede konventioner ved at svare med tomme oplysninger, men giver dig mulighed for at indtaste oplysninger som svar på en login-prompt, når du bruger en TCP-forbindelse på port 23.
- -u. Indstillingen fortæller, at programmet skal bruge UDP-protokollen i stedet for TCP, der arbejder i både lytte- og klienttilstand.
- -v bestemmer, hvor detaljeret programmet informerer dig om, hvad det gør. Hvis du ikke bruger muligheden -v, udsender Netcat kun den modtagne information. Hvis -v-indstillingen bruges én gang, vil du være i stand til at finde ud af, hvilken adresse der var forbundet til, eller hvilken adresse der overvåges, hvis der er problemer. Genbrug af indstillingen vil fortælle dig, hvor meget data der blev sendt eller modtaget, før forbindelsen sluttede.
- -w <sekunder> Specificerer den tid, Netcat venter på en forbindelse. Denne indstilling fortæller dig også, hvor længe du skal vente efter at have modtaget et EOF-signal (slut på fil) på standardindgangen, før du afbryder forbindelsen og afslutter. Dette er især vigtigt, hvis du sender kommandoer til en fjernserver ved hjælp af Netcat og forventer at modtage en stor mængde information (for eksempel ved at sende en kommando til en HTTP-webserver for at downloade en stor fil).
- -z. Hvis du kun er optaget af at bestemme, hvilken port der er åben, bør du bruge nmap (se Port Scanners foredraget). Men denne mulighed fortæller Netcat at sende nok data til at lede efter åbne porte i det givne værdiområde. [en]
Ansøgning
- Test og manuelt arbejde med netværksprotokoller ;
- Kontrol af tilgængeligheden af havne;
- Netværksgrænseflade til UNIX-skallen (dog kan nogle versioner af bash oprette forbindelse til TCP og UDP på egen hånd);
- (Med -l-switchen) opret simple servere, normalt teste;
- (Delt med inetd ) portvideresendelse.
Eksempler
Under Windows:
Kør CMD gå til mappen med netCat (for eksempel C:\netcat\)
For at oprette en chat mellem værter
På én maskine (10.10.10.1), åbn port 1234 for at lytte: nc -l -p 1234 På en anden maskine skal du oprette forbindelse til vært 10.10.10.1 på port 1234 nc 10.10.10.1 1234
Sender tekst med Enter. Afbryd forbindelsen CTRL+C
For ubuntu skal du fjerne "-p" fra kontakterne.
Visning af en test HTML-side til en klient med en almindelig browser med én kommando (port 8080):
(echo -e "HTTP/1.1 200 OK\nContent-Type: text/html\n\n Hello World";) | nc -vv -l -p 8080
Overførsel af en fil til en klient med en almindelig browser i én kommando (port 8080):
(echo -e "HTTP/1.1 200 OK\nContent-Disposition: attachment; filename=целевое-имя-которое-увидит-клиент\nContent-Type: application/octet-stream\nConnection: close\n"; cat имя-файла-на-диске ) | nc -vv -l -p 8080
Overførsel af den aktuelle mappe med alle filer og undermapper over internettet eller intranet, port 3333, med udpakning til den aktuelle mappe:
nc -l -p 3333 | tar xv (выполняется на приёмной стороне)
tar cv * | nc -q 0 ip.адрес.приёмной.стороны 3333 (выполняется на передающей стороне)
Holdnavne
nc , netcat , ncat , pnetcat (på forskellige systemer ).
Se også
Noter
- ↑ fker. alt om NETCAT (engelsk) . ANTICHAT - Sikkerhed online-fællesskab (23. februar 2009). Hentet 5. december 2019. Arkiveret fra originalen 5. december 2019.
Links