# ----------------------------------------------------------------------------- # NETWORK NOTLARI # ----------------------------------------------------------------------------- Network ile ilgili araçlar, uyugulamalar vb. # ----------------------------------------------------------------------------- # iproute # ----------------------------------------------------------------------------- # link listesi ip link # link bilgisi ip link show eth0 # linki açıp kapatma ip link set eth0 down ip link set eth0 up # addr listesi ip addr # bir linkin adresi ip addr show eth0 # bir linke adres ekleme ip addr add 192.168.2.10/24 dev eth0 # bir linke ait bütün ipv4 adreslerini silme ip -4 addr flush label 'eth0' # route listesi ip route show all # bir IP adresine ait route'u görmek için ip route get 69.147.114.224 # belli bir IP grubu için route kaydı ip route show 192.168.100.0/24 # kısa süre önce erişilen adreslerin route bilgisi ip route show cache # route ekleme ip route add 0.0.0.0/0 via 10.0.0.1 [dev eth0] # route silme ip route del 0.0.0.0/0 # bütün route kayıtlarını silme ip route flush # ağdaki bağlantı kurmuş makinelerin listesi ip neigh list # ağdaki bir makineye erişim durumu ip neigh show 192.168.1.23 # ARP tablosunda bir IP için olan kaydı silme ip -s neigh flush 192.168.1.23 ip -s neigh flush all # ----------------------------------------------------------------------------- # netstat # ----------------------------------------------------------------------------- # route listesi netstat -r # mevcut tcp ve udp bağlantıları netstat -taunp # ----------------------------------------------------------------------------- # curl # ----------------------------------------------------------------------------- # web sayfasının içeriğini almak curl http://www.emrah.com/ # header verisini almak curl --head http://www.emrah.com/ curl -I http://www.emrah.com/ # Güvensiz SSL sertifikalı https sayfasını almak. curl --insecure https://www.emrah.com/ curl -k https://www.emrah.com/ # Talep gönderilken header ekleme. curl --header "Host: www.emrah.com" 82.196.3.167 curl -H "Host: www.emrah.com" 82.196.3.167 # Referer ekleme curl --referer http://www.mysite1.com http://www.mysite2.com # User agent curl --user-agent "My user agent" http://www.mysite.com/ # Yönlendirmeyi takip etmek (301, 302, 303) curl --location http://google.com/ curl -L http://google.com/ curl -IL http://google.com/ # POST curl --data "par1=value1&par2=value2" http://www.mysite.com/ curl --data-urlencode "par=var var var" http://www.mysite.com/ # Basic authentication curl --user name:password http://www.mysite.com/ # ----------------------------------------------------------------------------- # tcpdump # ----------------------------------------------------------------------------- TCP paketlerini yakalamak ve incelemek için... # kurulum apt-get install tcpdump # kullanım tcpdump -i eth0 arayüz belirtme -n adres ve portlari isme çevirme -t timestamp basma -p promiscuous moda geçme -c 10 kaç paket alınıncaya kadar çalışacağını belirtme. belirtilmezse sürekl çalışır -w dosya alınan paketlerin hangi dosyaya yazılacağı host host_adi dst host host_adi src host host_adi gateway host_adi ether dst eth_adi ether src eth_adi ether host eth_adi port port_no src port port_no dst port port_no # dump dosyasını inceleme tcpdump -qns0 -X -r /tmp/tcpdump.txt # ----------------------------------------------------------------------------- # fping # ----------------------------------------------------------------------------- Ağa ping atmak için... # kurulum apt-get install fping # kullanım fping -c1 -g 10.0.0.0/8 fping -c1 -g 192.168.1.0/24 # ----------------------------------------------------------------------------- # arping # ----------------------------------------------------------------------------- Layer 2'de çalışıyor. root olarak çalıştırılacak. # kurulum apt-get install arping # kullanım arping -c1 192.168.1.50 arping -c1 00:11:85:4c:01:01 # IP adresi çakışan (dublicated) MAC adresleri arping -i eth0 -d 192.168.1.50 # ----------------------------------------------------------------------------- # nuttcp # ----------------------------------------------------------------------------- Network hızını ölçmek için... # kurulum apt-get install nuttcp # sunucuyu başlatmak nuttcp -S # istemciden transferi başlatmak nuttcp sunucu_ip nuttcp -r sunucu_ip # ----------------------------------------------------------------------------- # SYN flood & SYN cookie # ----------------------------------------------------------------------------- syncookie aktif hale getirince SYN backlog kuyruğu (tcp_max_syn_backlog) dolana kadar normal şekilde davranılır. Kuyruk dolunca, SYN cookie gönderilmeye başlanır. SYN cookie gönderilirken kuyruk kullanılmadığı için kaynak tüketilmez. # /etc/sysctl.conf # SYN cookie aktif (default 0) net.ipv4.tcp_syncookies=1 # SYN-ACK gondermek icin kac kere deneme yapilacagi (default 5) net.ipv4.tcp_synack_retries=2 # TIME_WAIT durumundaki kaynaklar kullanilmaya calisilacak mi (default 0) net.ipv4.tcp_tw_reuse=1 # TIME_WAIT durumunda ne kadar bekletilecegi (default 60) net.ipv4.tcp_fin_timeout=15 # Değişikliği aktif hale getirme sysctl -p # Değişiklik sonucunu görme cat /proc/sys/net/ipv4/tcp_syncookies # SYN kuyruk uzunluğu cat /proc/sys/net/ipv4/tcp_max_syn_backlog # SYN-ACK göndermek için kaç kere deneme yapılacağı. cat /proc/sys/net/ipv4/tcp_synack_retries