netstat
Makinemizdeki portlar üzerinden veri iletimini tartıştık, şimdi bazı iyi bilinen portlara bakalım.
İyi bilinen portların bir listesini /etc/services dosyasına bakarak alabilirsiniz:
ftp 21/tcp
ssh 22/tcp
smtp 25/tcp
domain 53/tcp # DNS
http 80/tcp
https 443/tcp
..etc..
İlk sütun servis adıdır, ardından port numarası ve kullandığı transport layer protokolü gelir.
netstat
Ağınız hakkında ayrıntılı bilgi almak için son derece kullanışlı bir araç netstat’tır. Netstat ağ bağlantıları, routing tabloları, network interface bilgileri ve daha fazlası gibi çeşitli ağ ile ilgili bilgileri gösterir; networking araçlarının İsviçre çakısı gibidir. Netstat’in bir özelliğine, ağ bağlantılarının durumuna, odaklanacağız. Bir örneğe bakmadan önce, sockets ve portlar hakkında konuşalım. Bir socket, programların veri göndermesine ve almasına izin veren bir arayüzdür; bir port ise hangi uygulamanın veri gönderip alması gerektiğini belirlemek için kullanılır. Socket address, IP adresi ve port’un birleşimidir. Bir host ile hedef arasındaki her bağlantı benzersiz bir socket gerektirir. Örneğin, HTTP port 80’de çalışan bir servistir, ancak birçok HTTP bağlantımız olabilir ve her bağlantıyı sürdürebilmek için bağlantı başına bir socket oluşturulur.
pete@icebox:~$ netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 icebox:domain *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 icebox.lan:44468 124.28.28.50:http TIME_WAIT
tcp 0 0 icebox.lan:34751 124.28.29.50:http TIME_WAIT
tcp 0 0 icebox.lan:34604 economy.canonical.:http TIME_WAIT
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN
tcp6 1 0 ip6-localhost:35094 ip6-localhost:ipp CLOSE_WAIT
tcp6 0 0 ip6-localhost:ipp ip6-localhost:35094 FIN_WAIT2
netstat -a
komutu, network bağlantıları için listening ve non-listening socket’leri gösterir, -t
flag’i yalnızca TCP bağlantılarını gösterir.
Sütunlar soldan sağa şu şekildedir:
Proto: Kullanılan protokol, TCP veya UDP.
Recv-Q: Alınmak üzere kuyruğa alınmış veri
Send-Q: Gönderilmek üzere kuyruğa alınmış veri
Local Address: Yerel olarak bağlı host
Foreign Address: Uzak olarak bağlı host
State: Socket’in durumu
Socket durumlarının bir listesi için man sayfasına bakın, ancak işte birkaç tanesi:
LISTENING: Socket, gelen bağlantılar için dinlemededir; bir TCP bağlantısı kurduğumuzda, bağlanmadan önce hedefimizin bizi dinliyor olması gerekir.
SYN_SENT: Socket, aktif olarak bir bağlantı kurmaya çalışmaktadır.
ESTABLISHED: Socket, kurulmuş bir bağlantıya sahiptir.
CLOSE_WAIT: Uzak host kapanmıştır ve socket’in kapanmasını bekliyoruz.
TIME_WAIT: Socket, ağda hâlâ bulunan packet’leri işlemek için kapanıştan sonra beklemektedir.
Last updated