Temel Ağ Uygulamaları için Betik

Başlatan mhmtkrktr, 19 Mayıs 2016 - 12:53:47

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ahmet_matematikci

@ kale ilhan ne bileyim forumda gördüğümü eklemişti.☺☺☺

SM-T113 cihazımdan Tapatalk kullanılarak gönderildi

♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Kaleihan

@mhmtkrktr Evet program çalışıyor. Birkaç saniyelik yavaşlama oldu.
@ahmet_matematikci Şu yolla programı istediğiniz bir kelimeyle çağırabilirsiniz:
Betik net.sh isminde bir dosyanın içinde olsun. /usr/bin/ dizinine atın. Daha sonra .bashrc dosyasının içine şunu ekleyin
alias istediğiniz_kelime="net.sh"

mhmtkrktr

#27
Dış ip için 1 saniye ve ağ hızını tespit edebilmesi için 3 saniye süresince geçici dosya çekiyor. Yavaşlamanın kaynağı bundan kaynaklanıyor.
Aslında daha iyi tespit için, biraz daha uzatılması gerekiyor ama 3 saniye de çok farklı değer vermiyor. Olabildiğince kısa tutmaya çalıştım süreyi.

ahmet_matematikci

Alıntı yapılan: Kaleihan - 22 Mayıs 2016 - 18:14:23
@mhmtkrktr Evet program çalışıyor. Birkaç saniyelik yavaşlama oldu.
@ahmet_matematikci Şu yolla programı istediğiniz bir kelimeyle çağırabilirsiniz:
Betik net.sh isminde bir dosyanın içinde olsun. /usr/bin/ dizinine atın. Daha sonra .bashrc dosyasının içine şunu ekleyin
alias istediğiniz_kelime="net.sh"
ama kodu açınca konsolu açar açmaz o ağ programı çalışıyor.
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

mhmtkrktr

https://forum.ubuntu-tr.net/index.php?topic=3338.msg591896#msg591896
nano ~/.bashrc

source ~/net.sh   ## veya dosya neredeyse tam yolu. Gizli dosya ise noktaya dikkat !
alias istedigin_isim="ag_durumu"  ## betik icinde degistirme yapmamissan, sadece ismi duzenle.


Kaleihan

@ahmet_matematikci
Ne oluyor anlamadım. Ben de denedim. İstediğim kelime "program". Terminale program yazınca betik çalışmaya başlıyor. Daha sonra yeni terminal açtığımda terminal normal şekilde başlıyor. Sizde de böyle olmuyor mu veya istediğiniz şey bu değil miydi?

ahmet_matematikci

Alıntı yapılan: Kaleihan - 22 Mayıs 2016 - 19:52:17
@ahmet_matematikci
Ne oluyor anlamadım. Ben de denedim. İstediğim kelime "program". Terminale program yazınca betik çalışmaya başlıyor. Daha sonra yeni terminal açtığımda terminal normal şekilde başlıyor. Sizde de böyle olmuyor mu veya istediğiniz şey bu değil miydi?
Tam da  istediğim bu ama bende öyle olmuyor.
Siz bashrc paylaşır mısınız?
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

Kaleihan

İçerik şöyle:# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
    else
color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'


# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi



echo "Hakkıdır, hakk'a tapan milletimin istiklâl!"

alias program="net2.sh"
alias kur="sudo apt-get install"
alias kaldır="sudo apt-get remove"
alias temizlik="temizlik.sh"
alias autoremove="sudo apt-get autoremove"
alias autoclean="sudo apt-get autoclean"
alias çık="exit"
alias seçkapat="xkill"
PS1="\[\e[01;31m\]┌─[\[\e[01;35m\u\e[01;31m\]]──[\[\e[00;37m\]${HOSTNAME%%.*}\[\e[01;32m\]]:\w$\[\e[01;31m\]\n\[\e[01;31m\]└──\[\e[01;36m\]>>\[\e[0m\]"




Sizin işinize yarayan kısım:
alias program="net2.sh"
Not /usr/bin/ dosyasına attığım betiğin adı net2.sh

mhmtkrktr

Benim hatam olmuş. Soylediğim sekilde yaparsan, betiğin en altında bulunan ag_durumu satırını silmen gerekir.

cokomoko

Silmeye gerek yok ### koyun başına yeter, ben öyle yapmıştım. Aslında bu sorunu belirtecektim ama zaman olmadı.
''Eğer 386BSD ben Linux'a başladığımda var olsaydı, Linux büyük bir olasılıkla olmazdı."
........................Linus Torvalds..........................
İnsanın aradığı sadece huzur ve mutluluktur, 1 numara olmak yalnız kalmak demektir ve 1 numara kalmak için birçok şeyi feda etmek zorunda kalırsın...

Kaleihan

@mhmtkrktr
İlk başlarda nete bir şey yükleyip/indirmediğimden normal geliyordu fakat  bende herzaman veri akışı yok yazıyor. Halbuki şuan nete bir dosya yüklüyorum.

ahmet_matematikci

@mhmtkrktr evet problem sonunda ki ag durumu satırı imiş.
Silince çalıştı.
Bu arada bu ip tarama sonsuza kadar çalışıyor mu?
Son noktası nedir?
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

mhmtkrktr

Alıntı Yapİlk başlarda nete bir şey yükleyip/indirmediğimden normal geliyordu fakat  bende herzaman veri akışı yok yazıyor. Halbuki şuan nete bir dosya yüklüyorum.
Bu sorun hangi bağlantı cihazı için oluyor? Kablolu, wifi, İ-Net ? Her cihaz kendi bölümü için kontrol ediyor orayı.
Alıntı YapBu arada bu ip tarama sonsuza kadar çalışıyor mu?
Son noktası nedir?
Modemlerin IP aralığı standart 0..254 arasıdır. Yani bir modeme aynı anda en fazla 255 - 1 = 254 cihaz, bağlantı kurabilir. Tarama işlemi bu sayıda kalacak ve bağlı cihazların adresini sonuç olarak gösterecek.

Kaleihan

http://i.hizliresim.com/aEylV7.png
Şuan internet bağnaltısı ve veri akışı var. Kablolu da wi-fi de veri akışını göstermiyor. Ayrıca İnternet bağlantısı da yok diyor.

mhmtkrktr

#39
IP satırının başına addr:  geliyor, bu da doğru adresi kontrol etmesini engellemiş. Buna bağlı olarak IP den değer alan diğer bölümlerde yana yatmış, çamura batmış :)
Baştan paylaşsaydın ya bunu. :) Ubuntu da denediğimde addr satırını düzeltmiştim ama sonradan gereksiz görüp kaldırmışım onu. Biraz sonra düzeltip, kodu değiştirim.

iwconfig
ifconfig

Çıktılarını paylaşabilir misin? Tekrardan Ubuntu'ya geçmeden çözebilirim bu şekilde.

Kaleihan

Kusura bakmayın fonksiyonları deneyip çalışıyor demiştim. Demekki görüntüye aldanmamak gerekiyor :D
┌─[osman]──[gokturk]:~$
└──>>iwconfig
enp2s0    no wireless extensions.

lo        no wireless extensions.

wlp3s0    IEEE 802.11bgn  ESSID:off/any 
          Mode:Managed  Access Point: Not-Associated   Tx-Power=15 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
         
┌─[osman]──[gokturk]:~$
└──>>ifconfig
enp2s0    Link encap:Ethernet  HWaddr 20:89:84:a7:59:25 
          inet addr:192.168.1.37  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::b7f4:a17a:1ea3:f351/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2100231 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2465390 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:771980511 (771.9 MB)  TX bytes:2686109266 (2.6 GB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Sunucu
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:771365 errors:0 dropped:0 overruns:0 frame:0
          TX packets:771365 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:71821613 (71.8 MB)  TX bytes:71821613 (71.8 MB)

wlp3s0    Link encap:Ethernet  HWaddr 18:67:b0:7c:95:2b 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:611023 errors:0 dropped:0 overruns:0 frame:0
          TX packets:730304 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:277576436 (277.5 MB)  TX bytes:872632534 (872.6 MB)

┌─[osman]──[gokturk]:~$
└──>>

mhmtkrktr

#41
@Kaleihan sonucu resim olarak aktarabilir misin?

Ubuntu'nun DNS ayarlarını nereye kaydettiğini bulamadım. cat /etc/resolv.conf çıktısı "search home" diye yanıt veriyor ama home dizininde de göremedim. Bilen biri yerini söylerse ilave ederim. 




bugra9

Kullanılan dns sunucularını aşağıdaki komut ile bağlantı yöneticisinden öğrenebilirsin.

nmcli dev show | awk '/IP4.DNS/{print $2}'

mhmtkrktr

Alıntı YapKod: [Seç]
nmcli dev show | awk '/IP4.DNS/{print $2}'

Rica etsem kablolu ve kablosuz için örnek çıktı verebilir misin? Ubuntu'nun CD den açılması 10 dk yı buluyor bende.
Fırsat bulunca hemen düzenlemeye çalışırım. Teşekkürler.

ahmet_matematikci

Kablolu ve kablosuz dns ler faklı mı çıkıyor ki :o :o
Ben @bugra9 un komutu konsola yazınca dns yi verdi
[a@a ~]$ nmcli dev show | awk '/IP4.DNS/{print $2}'
192.168.1.1
♥ Kız tavlamak için kahraman olmak gerekmez. Doğru kadın zaten sizi kahraman yapar ;)

mhmtkrktr

Elle her donanım için birden fazla dns ayarlayarak bakmamız gerekir. Hangi sıralamaya göre yerleştiriyor, başlangıca isim vb ekler koyuyor mu, bunların olması gerekiyor. Aksi durumda IP bölümünde olduğu gibi süprizler yapabilir :) 

bugra9


bugra@bugra:~$ nmcli dev show | awk '/IP4.DNS/{print $2}'
8.8.8.8
4.4.2.2

Yazdığım komut, o an hangi ağlara bağlıysa hepsinin dns adreslerini alt alta yazması lazım. Eğer kablolu, kablosuz veya farklı şekillerde ayırmak isteniyorsa aşağıdaki gibi kullanılabilir. Örneğin bendeki kablosuz bağlantı için,

bugra@bugra:~$ nmcli dev show wlp2s0  | awk '/IP4.DNS/{print $2}'
8.8.8.8
4.4.2.2


Dns sunucular el ile verilince yukarıdaki gibi bir sonuç çıkıyor. Eğer otomatiğe ayarlı ise servis sağlayıcısının dns adreslerini listeleyecektir.

Bu komut arch linux'de çalışmıyor mu?

heartsmagic

Eline sağlık, güzel bir toplu çalışma olmuş. Bir ara ilk elden deneyip sonuçları görmeyi isterim.
Ağ tarama kısmı için esasında her modem aynı IP sınıfını kullanmıyor, değişkenlik gösterebilir. Kimi A sınıfını kullanıyor örneğin. İstenirse boradcast adrese bakılabilir ama betiğin hedefi ağı taramak mı değil mi tam bilemediğim için bu şekilde de kalabilir belki :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

mhmtkrktr

@bugra9 Arch ta resolv.conf içerisinden baktığım için hiç başka komut düşünmemiştim. Verdiğin komut Arch ta çalışıyor ve iyi oldu. Kodları biraz daha sadeleştirmek istiyordum ama ana hatların oturması için mevcutta var olanllara dokunmuyordum. Komut daha sade çıktılar veriyor. Teşekkür ederim.

( İşin ilginç tarafı, neredeyse 1 saat Ubuntu da dns yi nasıl bulacağıma dair arama yaptım ama hiç sonuç bulamadım. Bütün aramalar resolv.conf ve dnsmaskq dosyalarını gösteriyor. Onlarınsa içleri boş. )

@heartsmagic teşekkür ederim. Benim ilk aklıma gelen IP aralığı 192.168.x.x ve 10.0.x.x oldu. Daha doğrusu karşılaştıklarım bunlar. Betikte her iki aralıkta tespit ediliyor ve tarama uygun olana göre yapılıyor. Eğer bunların dışında bir IP kemik aralığı varsa ve belirtirsen onu da ilave ederim.