netcat çalışırken
**Netcat**, ağı okuyan ve TCP veya UDP iletişim kurallarını kullanarak ağ bağlantılarını yazan bir hizmetidir. Netcat, diğer program ve betikler tarafından içtenlikle veya kolayca kullanılabilen güvenilir "arkauç" aygıtı olması için tasarlandı. Aynı zamanda, gelecekte ihtiyaç duyalacak hemen hemen her türlü bağlantıyı üretebilen, birçok niteliğe sahip, ağ hata ayıklama ve araştırma aracıdır.

2000'deki www.insecure.org kayıtlarına göre, **Netcat**, ikinci en işlevsel ağ güvenlik aracıydı. Ayrıca 2003 ve 2006'da aynı kategoride dördüncülük elde etti. Netcat, TCP/IP için sanki "bulunmaz hint kumaşı" gibidir. Port (yuva) tarama, dosya taşıma ve port dinleme gibi niteliklere sahiptir ve sanki askıdaymış gibi çalışabilir.

Özellikler
----------

*netcat'*in bazı önemli özellikeri:

* Giden veya gelen bağlantılar, TCP veya UDP, herhangi porttan veya porta alma veya gönderme
* Uygun uyarılara sahip tam DNS ileri/geri kontrol,
* Herhangi yerel kaynak portunu kullanabilme
* Herhangi yerel olarak yapılandırılan ağ kaynak adresi kullanabilme
* Rastgele olarak port taramayı başlatma
* Kaynak yönderdirme kaybı yeteneğini kurma
* Standart girdideki komut satırı argümanlarını okuyabilme
* Her N saniyede bir satırı yavaş gönderme kipi
* İletilen ve alınan onaltılık atık veri
* Diğer program hizmetlerinin yerleşik bağlantılarını isteğe bağlı yapma
* İsteğe bağlı telnet seçenekleri cevabı

Örnekler
--------

### 25 nolu porta ham bağlantı açma (telnet gibi)

```
nc mail.server.net 25
```

### 8080 nolu porta mevcut dosya ile bir atışlık websunucu ayarlama

```
{ echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat some.file; } | nc -l 8080
{ echo -ne "HTTP/1.0 200 OK\r\nContent-Length: $(wc -c <some.file)\r\n\r\n"; cat some.file; } | nc -l -p 8080
```

Bu dosyaya daha sonra http://servername:8080/ altındaki bir webtarayıcı ile erişilebilir. Netcat sadece ilk istemci bağlanıp daha sonra ayrıldığında dosyayı bir kez sunar.

### Eğer 192.168.0.1'deki 80-90 UDP portları (-u) açık olduğunda, sıfır G/Ç (-z) kipini kullanımını denetleme

```
nc -vzu 192.168.0.1 80-90
```

### Port tarama

Netcat'ın yaygın olmayan kullanımı port taramadır. Netcat bu iş için mükemmel bir araç değildir. Fakat bu işin üstesinden gelebilir. Bu iş için biçilmiş kaftan Nmap'tır.

```
nc -v -n -z -w 1 192.168.1.2 1-1000
```

"-n" parametresi DNS taramayı ifade eder. "-z", nc yapar, sunucudan hiçbir veri almaz. "-w 1″ 1 saniyelik durgunluktan sonra bağlantı sağlar.

### Vekillik

Netcat'ın diğer kullanım amacı vekilliktir. Hem portlar hem de makineler yönlendirilebilir. Bu örneği inceleyiniz:

```
nc -l -p 12345 | nc www.google.com 80
```

12345 nolu port isteği ifade eder

Bu, 12345 nolu porttaki bir nc sunucu başlatır ve tüm bağlantıları google.com:80'e yönlendirir. Eğer bir web tarayıcı nc'ye istek gönderirse, bu istek google'a gönderilir. Fakat yanıt web tarayıcıya gönderilmez. Bunu sebebi hatların yönlendirilemez olmasıdır.

```
mkfifo backpipe
nc -l 12345  0<backpipe | nc www.google.com 80 1>backpipe
```

"-c" seçeneği de şöyle kullanılabilir:

```
nc -l 12345 -c 'nc www.google.com 80'
```

### Sunucuda işlem yapma

192.168.1.2 IP nolu bir bilgisayarda:

```
nc -l -p 1234 -e /bin/bash
```

"-e" seçeneği, ağ soketi tarafından yapılan giriş ve çıkış yönlendirmelerini oluşturur.
Aynı ağdaki herhangi bir bilgisayardan A adlı bilgisayarı şöyle bağlanır:

```
nc 192.168.1.2 1234
```

```
ls -las
```

```
total 428
4 drwxr-xr-x 15 kullanıcıadı 4096 2009-02-17 07:47 .
4 drwxr-xr-x 4 kullanıcıadı 4096 2009-01-18 21:22 ..
8 -rw------- 1 kullanıcıadı 8192 2009-02-16 19:30 .bash_history
4 -rw-r--r-- 1 kullanıcıadı 220 2009-01-18 21:04 .bash_logout
...
```

### Port Gönderme veya Eşleştirme

Linux'de NetCat port gönderme için kullanılabilir. Aşağıda bu işi yapmanın dokuz farklı yolu gösteriliyor:

```
 nc -l -p port1 -c ' nc -l -p port2'
 nc -l -p port1 -c ' nc host2 port2'
 nc -l -p port1 -c ' nc -u -l -p port2'
 nc -l -p port1 -c ' nc -u host2 port2'
 nc host1 port1 -c ' nc host2 port2'
 nc host1 port1 -c ' nc -u -l -p port2'
 nc host1 port1 -c ' nc -u host2 port2'
 nc -u -l -p port1 -c ' nc -u -l -p port2'
 nc -u -l -p port1 -c ' nc -u host2 port2'}}
```

Ayrıca bakınız
--------------

* telnet
* Nmap
* Unix programlarının listesi

Dış bağlantılar
---------------

* ubuntu Türkiye wiki'si netcat başlığı

Kaynakça
--------

1. ↑  "Arşivlenmiş kopya". 27 Kasım 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Kasım 2011.

| * g
* t
* d
UNIX komut satırı programları ve kabuk yerleşikleri |
| --- |
| Dosya sistemi | 
* cat
* chattr
* chmod
* chown
* chgrp
* cksum
* cmp
* cp
* dd
* du
* df
* file
* fsck
* fuser
* ln
* ls
* lsof
* mkdir
* mount
* mv
* pax
* pwd
* rm
* rmdir
* split
* tee
* touch
* type
* umask

 |
| Prosesler | 
* at
* bg
* chroot
* crontab
* fg
* kill
* killall
* nice
* pgrep
* pidof
* pkill
* ps
* pstree
* sleep
* time
* top

 |
| Kullanıcı ortamı | 
* env
* exit
* finger
* id
* logname
* mesg
* passwd
* talk
* tput
* uname
* su
* sudo **·**  uptime
* w
* wall
* who
* write
* whoami

 |
| Metin işleme | 
* awk
* basename
* comm
* csplit
* cut
* diff
* dirname
* ed
* ex
* fmt
* fold
* head
* iconv
* join
* less
* m4
* more
* nl
* paste
* patch
* printf
* read
* sed
* sort
* strings
* tac
* tail
* tr
* troff
* uniq
* vi
* wc
* xargs

 |
| Kabuk yerleşikleri | 
* alias
* cd
* dirname
* echo
* printf
* test
* unset
* wait

 |
| Arama | 
* find
* grep
* locate
* whereis
* which

 |
| Belgeleme | 
* man

 |
| Yazılım geliştirme | 
* ar
* ctags
* lex
* make
* nm
* strip
* yacc

 |
| Diğer | 
* apropos
* banner
* bc
* cal
* clear
* date
* expr
* help
* history
* info
* lp
* od
* size
* sleep
* tput
* type
* true ve false
* uname
* yes
* whatis

 |
| Kategori **Kategoriler** (Standart Unix programları, Unix SUS2008 yardımcı programları)  • Liste **Liste** |