Giriş
wireshark, tcpdump windowsta wincap, unix'te ise libpcap (packet capture) kütüphanalerini kullanıyorlar.
wireshark, tcpdump windowsta wincap, unix'te ise libpcap (packet capture) kütüphanalerini kullanıyorlar.
tcpdump komutu
tcpdump komutu yazısına taşıdım
tcpdump komutu yazısına taşıdım
iptables
iptables firewall olarak kullanılır. Durdurmak için şöyle yaparız
Şöyle de yapabiliriz.service iptables stop
/etc/init.d/iptables stop
Tablolar nelerdiriptables'da tablolar vardır. Her tabloya ait kavramsal bazı zincirler vardır. Tablolar şunlar
Filter Table,
NAT Table
Mangle Table,
Raw Table.
Zincirler nelerdir
Tablolarda şu zincirler vardır
Filter Table -> INPUT , OUTPUT, FORWARD
NAT Table -> PREROUTING, POSTROUTING, OUTPUT
Mangle Table -> PREROUTING, OUTPUT, FORWARD, INPUT, POSTROUTING
Raw Table -> PREROUTING, OUTPUT
PREROUTING --> INPUT --> OUTPUT --> POSTROUTING
Eğer paket iletilecekse şu zinciri izler
PREROUTING --> FORWARD --> POSTROUTING
İşlem sırası
Şöyledir
Mangle TablosuRAW PREROUTING | MANGLE PREROUTING | NAT PREROUTING | ROUTING KARARI | ----------------------------------------- | | MANGLE MANGLE INPUT FORWARD | | FILTER FILTER INPUT FORWARD | | | LOCAL | İŞLEM | | | | | ROUTING | KARARI | | | | | RAW | OUTPUT | | | | | MANGLE | OUTPUT | | | | | NAT | OUTPUT | | | | | FILTER | OUTPUT | | | | | | ----------------------------------------- | MANGLE POSTROUTING | NAT POSTROUTING
mangle tablosu ile gönderilen paketlerdeki ip alanları değiştirilebilir.
Nat Tablosuiptables -t mangle -A OUTPUT -p icmp -j DSCP --set dscp 8
Kendi makineme gelmeyen paketleri ethernet promiscous modda alabilirim. Ping komutuna cevap vermek için PREROUTING aşamasında NAT ile gelen paketlerin destination adresleri 192.168.122.1 yapılır.
80. portu başka porta yönlendirmek için şöyle yaparız.iptables -t nat -A PREROUTING -i eth0 -j PNAT --to 192.168.122.1.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
192.168.212.21'e gelen UDP paketini, 192.168.215.46'y yönlendiren bir başka örnek
İçeriden giden bağlantıya izin vermek için şöyle yaparız. Dışarıdaki sunucu benim bağlantımı kabul ettiği için bana Established TCP paketleri gönderecektir. Bu paketleri kabul ederek bağlantı kurulmasına izin veririm.
iptables -t nat -A PREROUTING -d 192.168.212.21 -j DNAT
--to-destination 192.168.215.46
Input Tablosu
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
Gelen bazı TCP paketlerini drop etmek için şöyle yaparız. Bazı paketlerin %1 oranında düşürerek kötü bir bağlantıyı taklit edebiliriz.iptables -A INPUT -m statistic --mode random --probability 0.01 -j DROP
Gelen bağlantıya izin vermek için şöyle yaparız.iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
Seçenekler ve Anlamları
-A append
Belirtilen zincire ekleme yapar
-i interface
Kuralın geçerli olduğu arayüzü belirtir.
-j
Pakete ne yapılacağı belirtirir. Accept, Drop bazı seçenekler.
-m module
Hangi modülün kullanılacağını belirtirim. state ve statistic modülleri mevcut.
iptables kaydetme
Yapılan değişiklikler şöyle kaydedilir.
iptables-save > /etc/sysconfig/iptables
Şöyle de kaydedebiliriz./etc/init.d/iptables save