linuxde tcp ve udp port kontrolleri

normalde linuxde bir ip ve porta bağlımıyız diye kontrol gerektiğinde ilk akla gelen telnettir. örnek

telnet ip_adresi port / telnet 127.0.0.1 80
bu komut 127.0.0.1 in 80. portuna tcp bağlantı kurar. bağlanamazsa timeout ,connection refuse falan alır. 
geçenlerde bir makinenin udp portuna nasıl bağlanırım diye denemem gerekti telnet onu yapamıyor nc (netcat) öğrendim. 
nc -zu destination_ip 80-4000
yukardaki örnek 80 den 4000 e kadar portlara udp soket açar bağlanırsa succeed yazar. neyse bugün çok garip bir durum oldu.

telnet ile deniyorum bağlanıyor ama apache loglarında bağlanamıyorum hatası var. ara ara derken apache nin olduğu makinede birden fazla ip vardı ve acaba benim serve ettiğim ip diğer ip ye gidebiliyormu diye bakmam gerekti. telnetde bu nasıl yapılır bilmiyorum. nc ile araştırdım ve sorunu buldum.

[user@makine ~]$ nc -s 1.1.1.2 -z 2.2.2.2 13011
[user@makine ~]$ nc -s 1.1.1.2 -z 2.2.2.3 13011
Connection to 2.2.2.2 13011 port [tcp/*] succeeded!

source ip miz 1.1.1.1 den 2.2.2.2 nin 13011 ne bağlanılamıyor ama diğer ip den bağlanılabiliyor. eğer makinenizde birden fazla ip var ve bu iplerden biriyle src dest testi yapacaksanız komut şöyle

nc -s source_ip -z destination port

nc bu komutu görünce istenilen porttan karşı makineye port açar. başarılı olursa succeeded der değilse bişey yazmaz.