• 06-06-2015, 15:36:22
    Merhabalar,

    Bash script bir uygulamam var. Burada, mevcut sunucuda ekli olan (centos) iplerden birini rastgele almam lazım.

    Yani, Sunucuda aşağıdaki ipler var ise ;

    1.1.1.1
    1.1.1.2
    1.1.1.3

    Bash script içinde, random olarak birini değişkene atamam lazım. (randomip değişkenine).

    Acaba bu işlemi nasıl yapabilirim?
  • 07-06-2015, 19:57:35
    Naytu adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Bash script bir uygulamam var. Burada, mevcut sunucuda ekli olan (centos) iplerden birini rastgele almam lazım.

    Yani, Sunucuda aşağıdaki ipler var ise ;

    1.1.1.1
    1.1.1.2
    1.1.1.3

    Bash script içinde, random olarak birini değişkene atamam lazım. (randomip değişkenine).

    Acaba bu işlemi nasıl yapabilirim?
    Centos 6 kullandığını varsayarak,

    Alıntı
    ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' > /root/iplist.txt
    bu komut iplerini bir txt dosyasına yazdırır,

    Alıntı
    shuf -n 1 iplist.txt
    buda her çalıştırdığında ordan rastgele bir ip adresi çeker

    Alıntı
    randomip=shuf -n 1 iplist.txt
    echo $randomip
  • 08-06-2015, 22:16:54
    victories adlı üyeden alıntı: mesajı görüntüle
    Centos 6 kullandığını varsayarak,



    bu komut iplerini bir txt dosyasına yazdırır,



    buda her çalıştırdığında ordan rastgele bir ip adresi çeker
    127.0.0.1 de geliyor, onun çıkmasını engelleyebilir miyiz?
  • 08-06-2015, 22:21:03
    Naytu adlı üyeden alıntı: mesajı görüntüle
    127.0.0.1 de geliyor, onun çıkmasını engelleyebilir miyiz?
    tabi

    Alıntı
    ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' | grep -v -E "127.0.0.1"
  • 08-06-2015, 22:37:35
    victories adlı üyeden alıntı: mesajı görüntüle
    tabi
    #!/bin/sh
    ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' | grep -v -E "127.0.0.1" > iplist.txt
    deneme=shuf -n 1 iplist.txt
    echo $deneme
    Çalıştırdığımda ; -n: command not found hatası veriyor.

    Direk: echo shuf -n 1 iplist.txt yaptığımda ekrana ip adresini veriyor
  • 08-06-2015, 22:44:48
    Naytu adlı üyeden alıntı: mesajı görüntüle
    #!/bin/sh
    ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' | grep -v -E "127.0.0.1" > iplist.txt
    deneme=shuf -n 1 iplist.txt
    echo $deneme
    Çalıştırdığımda ; -n: command not found hatası veriyor.

    Direk: echo shuf -n 1 iplist.txt yaptığımda ekrana ip adresini veriyor
    ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' | grep -v -E "127.0.0.1" > iplist.txt
    deneme=`shuf -n 1 iplist.txt`
    echo $deneme
    shuf dan önceki değişik tırnak işaretine dikkat.
  • 08-06-2015, 22:53:55
    victories adlı üyeden alıntı: mesajı görüntüle
    ifconfig | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}' | grep -v -E "127.0.0.1" > iplist.txt
    deneme=`shuf -n 1 iplist.txt`
    echo $deneme
    shuf dan önceki değişik tırnak işaretine dikkat.
    Çok teşekkürler, sorunsuz çalışıyor.
  • 10-06-2015, 00:13:10
    Merhabalar,

    Çok sayıda Syn saldırısı alıyorum, bunları
    netstat -tuna | grep :80 | grep SYN_RECV
    gibi bir komutla aldırıp saldıran ip adresi 20'den fazla syn talebinde bulunursa ip adresi banlansın istiyorum. Yardımcı olan olursa çok teşekkürler
  • 04-07-2015, 11:45:08
    okan32 adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Çok sayıda Syn saldırısı alıyorum, bunları
    netstat -tuna | grep :80 | grep SYN_RECV
    gibi bir komutla aldırıp saldıran ip adresi 20'den fazla syn talebinde bulunursa ip adresi banlansın istiyorum. Yardımcı olan olursa çok teşekkürler
    Banlamanız çözüm olmaz, banlatmak yerine kernel ayarlarınan bağlantı süresini değiştirerek syn bağlantıların sistemden daha kısa sürede düşürülmesini sağlamalısınız.

    aşağıdaki kodları /etc/sysctl.conf içine girebilirsiniz, işlem bittiğinde aktif etmek için sysctl -p komutunu kullanmalısınız.

    eğer conntrack ile ilgili bir hata alırsanız modprobe ip_conntrack komutu ile modülü kernelinizde aktif edebilirsiniz.

    Not: Bu değerler CentOS 6 64 bit kullandığınız varsayılarak verilmiştir, başka bir sistem kullanıyorsanız lütfen kullanmayın.

    net.netfilter.nf_conntrack_generic_timeout = 600
    net.netfilter.nf_conntrack_tcp_timeout_syn_sent = 1
    net.netfilter.nf_conntrack_tcp_timeout_syn_recv = 1
    net.netfilter.nf_conntrack_tcp_timeout_established = 432000
    net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 1
    net.netfilter.nf_conntrack_tcp_timeout_close_wait = 5
    net.netfilter.nf_conntrack_tcp_timeout_last_ack = 5
    net.netfilter.nf_conntrack_tcp_timeout_time_wait = 2
    net.netfilter.nf_conntrack_tcp_timeout_close = 5
    net.netfilter.nf_conntrack_tcp_timeout_max_retrans = 5
    net.netfilter.nf_conntrack_tcp_timeout_unacknowledged = 10
    net.netfilter.nf_conntrack_tcp_loose = 1
    net.netfilter.nf_conntrack_tcp_be_liberal = 0
    net.netfilter.nf_conntrack_tcp_max_retrans = 3
    net.netfilter.nf_conntrack_udp_timeout = 30
    net.netfilter.nf_conntrack_udp_timeout_stream = 180
    net.netfilter.nf_conntrack_icmp_timeout = 30
    net.netfilter.nf_conntrack_acct = 1
    net.netfilter.nf_conntrack_events = 1
    net.netfilter.nf_conntrack_events_retry_timeout = 15
    net.netfilter.nf_conntrack_max = 65536
    net.netfilter.nf_conntrack_checksum = 1
    net.netfilter.nf_conntrack_log_invalid = 0
    net.netfilter.nf_conntrack_expect_max = 256
    Sonnot: Bunları yaptığınız halde sorun yaşamaya devam ediyorsanız makine bilgilerini gönderin kontrol edeyim.