Netcat
| Òèï | |
|---|---|
| Ðàçðàáîò÷èê |
|
| Íàïèñàíà íà | |
| Îïåðàöèîííàÿ ñèñòåìà | |
| Ïîñëåäíÿÿ âåðñèÿ |
0.7.1 (11 ÿíâàðÿ 2004) |
| Ëèöåíçèÿ | |
| Ñàéò |
netcat (àíãë. net ñåòü + cat) â óòèëèòà Unix, ïîçâîëÿþùàÿ óñòàíàâëèâàòü ñîåäèíåíèÿ TCP è UDP, ïðèíèìàòü îòòóäà äàííûå è ïåðåäàâàòü èõ. Íåñìîòðÿ íà ñâîþ ïîëåçíîñòü è ïðîñòîòó, äàííàÿ óòèëèòà íå âõîäèò íè â êàêîé ñòàíäàðò (íàïðèìåð, POSIX).
Ñîäåðæàíèå |
[ïðàâèòü] Äåéñòâèå
 ïðîñòîì ñëó÷àå NetCat âûçûâàåòñÿ êàê:
nc host port
Ýòî ïðèâîäèò ê ñîçäàíèþ TCP-ïîäêëþ÷åíèÿ ñ óêàçàííûìè ðåêâèçèòàìè è çàìûêàíèåì ñòàíäàðòíîãî ââîäà íà ñåòåâîé âûâîä è íàîáîðîò, ñòàíäàðòíîãî âûâîäà íà ñåòåâîé ââîä. Òàêàÿ ôóíêöèîíàëüíîñòü íàïîìèíàåò êîìàíäó cat, ÷òî îáóñëîâèëî âûáîð èìåíè «netcat». Ïðè íåâîçìîæíîñòè ïîäêëþ÷åíèÿ ïðîãðàììà âûâîäèò ñîîáùåíèå îá îøèáêå íà stderr.
Óòèëèòà ðàñïîçíà¸ò ñëåäóþùèå êëþ÷è:
| -h | Ñïðàâêà; íè÷åãî íå äåëàåòñÿ |
| -v | Äîïîëíèòåëüíàÿ äèàãíîñòèêà (verbose) |
| -o âûõîäíîé_ôàéë | Âûâîäèòü äàìïû äàííûõ |
| -i ÷èñëî | Çàäåðæêà ìåæäó îòïðàâëÿåìûìè äàííûìè (â ñåêóíäàõ) |
| -t | Ñîâìåñòèìîñòü ñ Telnet |
| -z | Íå ïîñûëàòü äàííûå (ñêàíèðîâàíèå ïîðòîâ) |
| -u | Ïîäêëþ÷àòüñÿ ïî UDP (âìåñòî TCP) |
| -l | Ïàññèâíûé ðåæèì (ïðîñëóøèâàíèå ïîðòà) |
| -p ÷èñëî | * Ëîêàëüíûé íîìåð ïîðòà (äëÿ -l) |
| -s host | Èñïîëüçîâàòü çàäàííûé ëîêàëüíûé («ñâîé») IP-àäðåñ |
| -n | Îòêëþ÷èòü DNS è ïîèñê íîìåðîâ ïîðòîâ ïî /etc/services |
| -w ÷èñëî | Çàäàòü òàéì-àóò (â ñåêóíäàõ) |
| -q ÷èñëî | Çàäàòü âðåìÿ îæèäàíèÿ ïîñëå EOF íà âõîäå (â ñåêóíäàõ) ** |
| -e èñïîëíÿåìûé_ôàéë | ! Çàïóñòèòü óêàçàííóþ ïðîãðàììó äëÿ îáìåíà äàííûõ ñ ñåòüþ (âìåñòî ñòàíäàðòíûõ ââîäà è âûâîäà) |
| -ñ êîìàíäà | ! Òî æå, â âèäå êîìàíäû äëÿ /bin/sh |
! â òðåáóåòñÿ ñïåöèàëüíàÿ ñáîðêà, â ïîñòàâëÿåìûõ èñïîëíÿåìûõ ôàéëàõ îòêëþ÷åíî (ëåãêî ñîçäà¸ò ñåòåâóþ óÿçâèìîñòü).
* â â íåêîòîðûõ ðåàëèçàöèÿõ íîìåð ïîðòà äëÿ ïðîñëóøèâàíèÿ çàäà¸òñÿ ÷åðåç -l, à êëþ÷ -p îòñóòñòâóåò.
** â èìååòñÿ íå âî âñåõ âåðñèÿõ.
[ïðàâèòü] Ïðèìåíåíèå
- Òåñòèðîâàíèå è ðó÷íàÿ ðàáîòà ñ ñåòåâûìè ïðîòîêîëàìè;
- Ïðîâåðêà äîñòóïíîñòè ïîðòîâ;
- Ñåòåâîé èíòåðôåéñ äëÿ êîìàíäíîãî èíòåðïðåòàòîðà UNIX (âïðî÷åì, íåêîòîðûå âåðñèè bash óìåþò ïîäêëþ÷àòüñÿ ê TCP è UDP ñàìîñòîÿòåëüíî);
- (Ñ êëþ÷îì -l) ñîçäàíèå ïðîñòûõ ñåðâåðîâ, îáû÷íî òåñòîâûõ;
- (Ñîâìåñòíî ñ inetd) ïåðåíàïðàâëåíèå ïîðòîâ.
[ïðàâèòü] Ïðèìåðû
Äëÿ ubuntu óäàëèòå èç êëþ÷åé "-p ".
Îòîáðàæåíèå òåñòîâîé HTML-ñòðàíè÷êè êëèåíòó ñ îáû÷íûì áðàóçåðîì îäíîé êîìàíäîé (ïîðò 8080):
(echo -e "HTTP/1.1 200 OK\nContent-Type: text/html\n\n Hello World";) | nc -vv -l -p 8080
Ïåðåäà÷à ôàéëà êëèåíòó ñ îáû÷íûì áðàóçåðîì îäíîé êîìàíäîé (ïîðò 8080):
(echo -e "HTTP/1.1 200\nContent-Disposition: attachment; filename=öåëåâîå-èìÿ-êîòîðîå-óâèäèò-êëèåíò\nContent-Type: application/octet-stream\nConnection: close\n"; cat èìÿ-ôàéëà-íà-äèñêå ) | nc -vv -l -p 8080
[ïðàâèòü] Èìåíà êîìàíäû
nc, netcat, ncat, pnetcat (â ðàçíûõ ñèñòåìàõ).
[ïðàâèòü] Ñì. òàêæå
[ïðàâèòü] Ññûëêè
- GNU Netcat (àíãë.) â îôèöèàëüíûé ñàéò ïðîåêòà
- Netcat äëÿ Windows
| Ñòàíäàðòíûå ïðîãðàììû UNIX (âñå ïðîãðàììû) | |
|---|---|
| Ôàéëîâûå ñèñòåìû | chroot dd df fdisk fsck mkisofs mkswap mount umount rehash |
| Ôàéëû è êàòàëîãè | cat chattr cd chmod chown chgrp cksum cmp cp diff du file fuser ln ls lsof mkdir mv od pwd rm rmdir split touch |
| Ïðîöåññû | at cron exit kill killall nice nohup pgrep pidof pkill ps renice sleep time top wait watch |
| Ïîëüçîâàòåëè | env finger id last logname mesg passwd su sudo uptime w wall who whoami write |
| Ñåòü | ftp host ifconfig netcat netstat nmap nslookup ping rlogin SSH traceroute wget |
| Òåêñòû | AWK comm cut ed ex expand unexpand fmt head iconv join less more paste pr sed sort tac tail tr uniq wc xargs |
| Êîìàíäíàÿ ñòðîêà | alias basename bash bind dirname echo expr false printf test true unset |
| Ïîèñê | find grep strings whereis which |
| Ðàçíîå | banner bc cal date help lp man history size tee uname yes reboot |

