Skip to content

python – faktoriyel hesabı

programlama dilleri ögrenilirken en fazla yapılan matematiksel işlemlerden bir tanesidir faktoriyel hesabıdır

n! = n * (n-1)!

faktoriyel formülü

def faktoriyel(n):
  if(n==1):
    return n
  else:
    return n*(faktoriyel(n-1))

sayi = int(input("Faktoriyel Hesabı Yapılacak Sayı : "))

if sayi < 0:
  print("Negagif Sayı girişi yaptınız")
elif sayi == 0:
  print("Faktoriyel : 1")
else:
  print("Faktoriyel : ",faktoriyel(sayi ))

nokia sros üzerinde ip filter ile paket inceleme

nokia sros güvenlik yönetimi, müşteri yönetimi gibi amaçlar için filttelerin uygulnamasına izin vermektedir. aynalama yönteminin mümkün olmadığı, debug yapamadığınız zamanlarda filtreme yöntemini kullanmak paket yakalama / analizini temel düzeyde yapmaya olanak sağlayabilir. bunun nasıl yapılacağına en basit haliyle inceleyelim.

öncelikle yazacağımız filtre ile gözlemleyeceğimiz paketlerin nerede tutulması gerektiğe ait ayarları yapmakta fayda var. bu örnekte ramde tutulması bizim için yeterli olacak. log için bir id belirleyerek öncelikle filter log oluşturalım.

*A:#/configure filter log 38 create
*A:>config>filter>log# info 
----------------------------------------------
----------------------------------------------
*A:>config>filter>log#

log ortamımının tutulacağı alanı oluşturmuş olduk. default değeri 1000 olduğu için bu dğeri ihtiyacımız karşılayacak düzeyde arttıralım.

*A:>config>filter>log# destination memory 20000

verilecek değerde dikkatli olunmalı. hafızayı şişirmemek gerekli. şimdi paket yakalamak için filtremizi oluşturabiliriz. yakalamak istediğimiz paketlerin hedef ve kaynak iplerini bildigimizi düşünerek ip bazlı bir filtre yapalım.

filtreleri oluştururken paketler üzerinde bir engelleme v.b. yapmacağımız için default-action ve entry lerin action forward yapmayı unutmuyoruz.

bu örneğimizde epipe bir servisin üzerindeki paket analizini yapacağımız için hem ingress hemde egress e filtre uygulamamız gerkiyor. burada dikkat edilmesi gereken önemli bir nokta var. ingress ve egress lere filtrre uygularken hedef ve kaynak ipleri yer değiştirmiş olacak.. bu nedenden dolayı oluşturduğumuz ip-filter altına iki tane entry ekliyoruz ve ip adreslerini buna göre giriyoruz…

her entry altında yakalanan paketlerin kaydedilmesi için oluşturdugumuz log idsini de ekledikten sonra filtremiz tamamlanmış oluyoruz.

*A:#/configure filter ip-filter 38 create
*A:>config>filter>ip-filter# info 
            default-action forward
            entry 10 create
                match
                    dst-ip x.x.x.x/32
                    src-ip y.y.y.y/32
                exit
                log 38
                action
                    forward
                exit
            exit
            entry 11 create
                match
                    dst-ip y.y.y.y/32
                    src-ip x.x.x.x/32
                exit
                log 38
                action
                    forward
                exit
            exit

daha optimum bir filtre oluşturulabilir ancak bu haliye işimizi görecektir. filtremiz hazır olduğuna göre sıra uygulamaya geldi.

*A:#/configure service epipe 1 
*A:>config>service>epipe# info 
----------------------------------------------
           sap lag-1:1 create
                ingress
                    filter ip 38
                exit
                egress
                    filter ip 38
                exit
                no shutdown
            exit
            spoke-sdp 100:1 create
                no shutdown
            exit
            no shutdown

şimdi paketleri inceleyebiliriz. bakmamız gereken komut ve örnek çıktı aşagıdaki gibidir.

*A:#/show filter log 38

===============================================================================
Filter Log
===============================================================================
Admin state : Enabled
Description : (Not Specified)
Destination : Memory
Wrap        : Enabled
-------------------------------------------------------------------------------
Maximum entries configured : 20000
Number of entries logged   : 116
-------------------------------------------------------------------------------
2022/03/10 20:54:45  Ip Filter: 121:10  Desc: 
SAP: lag-103:115  Direction: Egress  Action: Forward
Src MAC: d4-a1-c8-df-b3-b0  Dst MAC: 02-45-11-12-78-d3  EtherType: 0800
Src IP: x.x.x.x:500  Dst IP: y.y.y.y:500  Flags: 0  TOS: c0  TTL: 254 Len: 196
Protocol: UDP

“Maximum entries configured : 20000” alanında ne kadar log olacağı bilgisi mecut .. biz 20000 yapmıştık… “Number of entries logged : 116” komutu çalıştırdığımızda yazdığımız filtreye giren 116 kayıt olduğunu görüyoruz. alltraki kısımlarda ip nin gözlendiği pakete ait bilgiler yer almaktadır..

log dosyasını temizlemek istediğinizde ise

*A:#/clear filter log 38

komutu kullanılabilir.

Back To Top