Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    PfSense 5651 to FTP Shell Script

    Scheduled Pinned Locked Moved Turkish
    10 Posts 5 Posters 3.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sametyilmaznet
      last edited by

      Selamlar ;
      Bir arkadaşımız için hazırladığım 5651 scriptini sizlerle paylaşmayı düşündüm. Üzerinde çok fazla duramadım ama ilerleyen zamanlarda daha iyisini geliştirip tekrar sizinle paylaşırım. Şimdilik benden istenen sadece ilgili logların FTP Sunucusuna gönderilmesi ve eski logların temizlenmesiydi.
      Kurulum için hiçbir ekstra paket kurmanıza gerek yok.İlgili dosyaları kendinize göre düzenledikten sonra ilgili dizinlere kopyalayip çalıştırmanız yeterlidir. Bir sonra ki versiyonda Script’e Samba Client kullanarak Windows ortamdaki bilgisayara aktarılmasını, Proxy loglarını veya http isteklerini de güzelce parse edip güzel birşeyler ortaya çıkartmaya çalışırız.
      5651.sh dosyasi

      #!/bin/sh
      #   _____         __  __ ______ _________     _______ _      __  __           ______
      #  / ____|  /\   |  \/  |  ____|__   __\ \   / /_   _| |    |  \/  |   /\    |___  /
      # | (___   /  \  | \  / | |__     | |   \ \_/ /  | | | |    | \  / |  /  \      / / 
      #  \___ \ / /\ \ | |\/| |  __|    | |    \   /   | | | |    | |\/| | / /\ \    / /  
      #  ____) / ____ \| |  | | |____   | |     | |   _| |_| |____| |  | |/ ____ \  / /__ 
      # |_____/_/    \_\_|  |_|______|  |_|     |_|  |_____|______|_|  |_/_/    \_\/_____|
      # Date : 22.05.2015
      # Web  : www.netyum.com.tr      
      # Mail : sametyilmaznet@gmail.com      
      # Blog : www.sametyilmaz.com.tr                                                                
      
      logger "5651.sh dosyasi calistirildi!"
      
      #Degiskenler
      
      #FTP Connection Information
      
      HOST='ip veya host'
      USER="kullaniciadiniz"
      PASSWD="sifreniz"
      FILE="/5651/*.tar.gz"
      REMOTEPATH='5651'
      
      #Ftp Log File
      FTPLOG=/tmp/ftplogs.out
      
      #Date
      Tarih=`date "+%Y%m%d-%H%M%S"`
      
      #DHCP File
      DhcpLogD=/var/dhcpd/var/db/dhcpd.leases
      
      #HTTP File
      HttpLogD=/var/squid/logs/access.log
      
      #Awk Script
      ParseD=/sbin/5651.awk
      
      #Hazirlik Dizinimiz
      LogWorkD=/5651 
      
      if [ ! -d $LogWorkD ]
          then
              mkdir $LogWorkD
              echo "$LogWorkD olusturuldu!"
              sleep 1
          fi
      
      #DHCP Islemleri
      
      if [ -f $DhcpLogD ]
          then
              /usr/bin/awk -f $ParseD < $DhcpLogD > $LogWorkD/dhcp-$Tarih.txt
              tar -zcvf $LogWorkD/dhcp-$Tarih.tar.gz $LogWorkD/dhcp-$Tarih*
              echo "Dhcp islemleri tamamlandi!"
              logger "Dhcp islemleri tamamlandi!"
          else
      
          echo "DHCP Leases dosyasi bulunamadi!"
          logger "Dhcp Leases dosyasi bulunamadi."
      
          fi
      
          sleep 3
      
      #HTTP islemleri
      
      if [ -f $HttpLog ]
          then
      
              cp $HttpLogD $LogWorkD/http-$Tarih.txt
              tar -zcvf $LogWorkD/http-$Tarih.tar.gz $LogWorkD/http-$Tarih*
              echo "HTTP dosyasi olusturuldu!"
              logger "Http dosyasi olusturuldu!"
          else
              echo "HTTP dosyasi bulunamadi!"
              logger "HTTP dosyasi bulunamadi!"
          fi
      
          sleep 5
      
      ##FTP Baglantisi
                  ftp -nv $HOST > $FTPLOG 2>&1 <<-EOF
              quote USER $USER
              quote PASS $PASSWD
              cd $REMOTEPATH
              prompt
              mput $FILE
                  EOF
      
      if grep "Not Connected" $FTPLOG
      then
          echo "FTP baglantisi yapilamadi!"
          logger "FTP baglantisi yapılamadi!"
      elif grep "Transfer complete" $FTPLOG
      then    
          echo "FTP baglantisi olusturuldu!"
          logger "Dosya Transferi tamamlandi!"
      
      else
          echo "FTP baglantisinda bir hata olustu!Tekrar deneyin..."
          logger "FTP baglantisinda bir hata olustu!Tekrar deneyin..."
      
      fi
      
      echo $?
      
      sleep 3
      
      rm -rf /5651
      
      echo "Hazirlik dizini silindi!"
      logger "Hazirlik dizini silindi!"
      
      echo "FTP loglari siliniyor..."
      rm -rf $FTPLOG
      echo "FTP loglari silindi"
      
      logger "5651 Islemleri tamamlandi!"
      echo "
      ##############################################################################
      ######################ISLEMLER TAMAMLANDI!!!!#################################
      ######################www.sametyilmaz.com.tr##################################
      "
      

      5651.awk

      #ip adresi
      /lease / { ip = $2 }
      
      # Baslangic tarihi.
      /starts / { baslangic = $3; bsaat = $4;  gsub(";", "", time) }
      
      # Bitis tarihi
      /ends / { bitis = $3; bitiss = $4;  gsub(";", "", time) }
      
      # Hostname adi
      /client-hostname / { host = $2; gsub("[;\"]", "", host) }
      
      # Mac adresi
      /hardware ethernet / { mac = $3; gsub(";", "", mac) }
      
      # Ekrana yazdir.
      
      /\}/ { print "Hostname : " host  " Ip :" ip  " Mac :"  mac  " Baslangic : " baslangic " " bsaat " Bitis :  " bitis  " " bitiss  }
      

      Kurulum için /sbin dizini altında 5651.sh ve 5651.awk isimli dosya olusturun ve bilgileri kendinize göre düzenledikten sonra aşağıdaki komutla yetkilendirmeyi tamamlayın.

      chmod +x /sbin/5651.sh /sbin/5651.awk
      

      İşlemler tamamlandıktan sonra dosyası aşağıda ki şekilde çalıştırıp test yapabilirsiniz.

      sh /sbin/5651.sh
      

      Eğer aşağıdaki şekilde bir cron girdisi oluşturursanız günün belirli saatlerinde logların ftp sunucunuza otomatik gönderilmesini sağlamış olursunuz.

      İsterseniz yukarıdaki dosyaları aşağıda ki link’ten download edebilirsiniz.
      http://sametyilmaz.com.tr/pfsense/pfSense5651toFTP.rar

      Samet YILMAZ
      Blog : http://www.sametyilmaz.com.tr
      Facebook Grup : https://www.facebook.com/groups/pfsenseturkey
      E-Posta : sametyilmaz[at]yandex[dot]com

      1 Reply Last reply Reply Quote 0
      • M
        magmaHSS
        last edited by

        teşekkürler kardeşim. senin bu emeklerinin karşılığını teşekkürle ödemek mümkün değil biliyorum ancak buradan bu kadar.

        Emeğine sağlık.

        Beyin Bedava!

        1 Reply Last reply Reply Quote 0
        • S
          sametyilmaznet
          last edited by

          @MuratRaci:

          teşekkürler kardeşim. senin bu emeklerinin karşılığını teşekkürle ödemek mümkün değil biliyorum ancak buradan bu kadar.

          Emeğine sağlık.

          Güzel yorumun için teşekkür ederim abi. Elimizden geldiğince birşeyler yapmaya çalışıyoruz inşallah birilerinin işine yarıyordur.

          Samet YILMAZ
          Blog : http://www.sametyilmaz.com.tr
          Facebook Grup : https://www.facebook.com/groups/pfsenseturkey
          E-Posta : sametyilmaz[at]yandex[dot]com

          1 Reply Last reply Reply Quote 0
          • O
            ozzani
            last edited by

            kurulumu yaptım. ama ftpye bağlantı sırasında sorun yaşıyorum. filezilla ile ftp server kurdum. logları atıyor ama log dosyaları bozuk bir şekilde iletiliyor. "rm -rf /5651" kodunu silip oluşturulan 5651 klasörünün içerisine girip baktığımda ise loglar tamamen sağlıklı olarak duruyor. acaba nerede yanlış yaptım yardımcı olabilir misiniz?

            1 Reply Last reply Reply Quote 0
            • S
              sametyilmaznet
              last edited by

              @ozzani:

              kurulumu yaptım. ama ftpye bağlantı sırasında sorun yaşıyorum. filezilla ile ftp server kurdum. logları atıyor ama log dosyaları bozuk bir şekilde iletiliyor. "rm -rf /5651" kodunu silip oluşturulan 5651 klasörünün içerisine girip baktığımda ise loglar tamamen sağlıklı olarak duruyor. acaba nerede yanlış yaptım yardımcı olabilir misiniz?

              Selam,

              FTP Sunucunuzla ilgili bir problem olabilir mi ? Kullanan bir kaç arkadaşım da herhangi bir sorun gözükmemektedir. FTP loglarını sildirdiğimiz satırı'da yorum satırı haline getirip FTP logunu paylaşırmısınız. ?

              Samet YILMAZ
              Blog : http://www.sametyilmaz.com.tr
              Facebook Grup : https://www.facebook.com/groups/pfsenseturkey
              E-Posta : sametyilmaz[at]yandex[dot]com

              1 Reply Last reply Reply Quote 0
              • O
                ozzani
                last edited by

                @Samet:

                @ozzani:

                kurulumu yaptım. ama ftpye bağlantı sırasında sorun yaşıyorum. filezilla ile ftp server kurdum. logları atıyor ama log dosyaları bozuk bir şekilde iletiliyor. "rm -rf /5651" kodunu silip oluşturulan 5651 klasörünün içerisine girip baktığımda ise loglar tamamen sağlıklı olarak duruyor. acaba nerede yanlış yaptım yardımcı olabilir misiniz?

                Selam,

                FTP Sunucunuzla ilgili bir problem olabilir mi ? Kullanan bir kaç arkadaşım da herhangi bir sorun gözükmemektedir. FTP loglarını sildirdiğimiz satırı'da yorum satırı haline getirip FTP logunu paylaşırmısınız. ?

                tekrar deneyip paylaşacağım. siz pfsense'in hangi sürümünü ve hangi ftp serveri kullanıyorsunuz?

                –------loglar----------
                ftp loglarım aşağıdaki gibidir:

                Connected to 10.0.0.6.
                331 Password required for sasa
                230 Logged on
                250 CWD successful. "/5651" is current directory.
                Interactive mode off.
                local: /5651/dhcp-20150607-135038.tar.gz remote: /5651/dhcp-20150607-135038.tar.gz
                229 Entering Extended Passive Mode (|||58590|)
                150 Opening data channel for file upload to server of "/5651/dhcp-20150607-135038.tar.gz"
                226 Successfully transferred "/5651/dhcp-20150607-135038.tar.gz"
                121 bytes sent in 00:00 (1.03 KiB/s)
                local: /5651/http-20150607-135038.tar.gz remote: /5651/http-20150607-135038.tar.gz
                229 Entering Extended Passive Mode (|||60258|)
                150 Opening data channel for file upload to server of "/5651/http-20150607-135038.tar.gz"
                226 Successfully transferred "/5651/http-20150607-135038.tar.gz"
                2949 bytes sent in 00:00 (107.83 KiB/s)
                221 Goodbye
                
                

                ve ayrıca shell de böyle bi hata alıyorum

                HTTP dosyasi olusturuldu!
                FTP baglantisinda bir hata olustu!Tekrar deneyin...
                0
                Hazirlik dizini silindi!
                
                1 Reply Last reply Reply Quote 0
                • O
                  ozkan
                  last edited by

                  Çalışma için öncelikle teşekkür ederim.Bende ftp tarafında aynı hatayı aldım kullandıgım pfsense surumu 2.1.3 ftp olarakta filezilla kullandım ve buna ek olarak web sitesine ait ftp bılgılerını kullandım sonuc yıne degısmedı.

                  1 Reply Last reply Reply Quote 0
                  • S
                    sametyilmaznet
                    last edited by

                    @ozkan:

                    Çalışma için öncelikle teşekkür ederim.Bende ftp tarafında aynı hatayı aldım kullandıgım pfsense surumu 2.1.3 ftp olarakta filezilla kullandım ve buna ek olarak web sitesine ait ftp bılgılerını kullandım sonuc yıne degısmedı.

                    Selam izne çıktım döndüğümde ilgileneceğim.

                    Samet YILMAZ
                    Blog : http://www.sametyilmaz.com.tr
                    Facebook Grup : https://www.facebook.com/groups/pfsenseturkey
                    E-Posta : sametyilmaz[at]yandex[dot]com

                    1 Reply Last reply Reply Quote 0
                    • O
                      ozkan
                      last edited by

                      @Samet:

                      @ozkan:

                      Çalışma için öncelikle teşekkür ederim.Bende ftp tarafında aynı hatayı aldım kullandıgım pfsense surumu 2.1.3 ftp olarakta filezilla kullandım ve buna ek olarak web sitesine ait ftp bılgılerını kullandım sonuc yıne degısmedı.

                      Selam izne çıktım döndüğümde ilgileneceğim.

                      Hoş geldiniz yardımlarınız için şimdiden teşekkür ederim.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Sehzade58
                        last edited by

                        FTP Problemini aşabilen var mı? Dosya karşıya geçerken bozuluyor.

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.