天天看點

Linux Shell 腳本攻略 ---- 第七章 無網不利

7.1 聯網知識入門

    1 網絡上每一個節點都需要配置設定多個參數才能夠與其它主機順利實作互聯,這些參數包括子網路遮罩,網關,路由,端口,DNS等

    2 ifconfig指令用于顯示網絡接口,子網路遮罩等詳細資訊

    3 ifconfig是位于/sbin/ifconfig,當輸入該指令的時候,一些GNU/Linux發行版本會顯示錯誤,在Debian中,ifconfig預設是不可用的,因為/sbin并不包括在PATH中

    4 /sbin/ifconfig是一個絕對路徑,是以要用這個絕對路徑運作ifconfig,在每個系統中,預設都有一個稱為環回接口的lo,這個接口指向目前主機本省

    5 要設定網絡接口的IP位址,可以使用: ifconfig wlan0 192.168.0.80

    6 要設定IP位址的子網路遮罩: ifconfig wlan0 192.168.0.80 netmask 255.255.255.0

    7 配置設定給目前系統的名字伺服器可以通過讀取/etc/resolv.conf來檢視

    8 擷取IP位址最簡單的方法就是ping給定的域名,然後檢視回應資訊,例如: ping www.google.com

    9 有多種指令行DNS查找工具,這些工具會向DNS伺服器請求IP位址解析。而host和nslookup就是兩個DNS查找工具

    10 一個域名可以配置設定多個的IP位址,比如www.google.com可以對應多個的IP位址,而一個IP位址隻是對應一個域名

    11 設定預設網關: route add default gw IP_ADDRESS INTERFACE_NAME

         比如: route add default gw 192.168.0.1 wlan0

    12 分組要穿過這些網關才能到達目的地,有一個很有意思的指令traceroute,它可以顯示分組途徑的所有網關的位址,traceroute資訊可以幫組我們搞明白分組到達目的地需要經過多少跳

7.2 使用ping

    1 ping是一個驗證網絡上兩台主機聯通性的診斷工具,能夠用來找出網絡上的活動主機

    2 為了檢查網絡上兩台主機之間的聯通性,ping指令使用網際網路控制消息協定的echo分組,當這些echo分組發送到某個主機的時候,如果分組能夠送達且該主機為活動主機,那麼它就會發送一條回應

    3 檢查某個主機是否可以到達: ping ADDRESS   // ADDRESS是主機名,域名或IP位址

    4 ping指令會不停的發送echo分組,并等待回複,直到Ctrl+C,不過,我們可以使用-c來限制所發送的echo分組的數量

       ping 192.168.0.1 -c 2 // 這個指令會限制發送的分組數量為2

    5 ping指令如果執行順利,會傳回退出狀态0,否則傳回非0

7.3 列出網絡上所有的活動主機

    1 在這則攻略中,我們采用兩種方法,第一種方法是使用ping,第二種方法是fping。fping并沒有預設包含在Linux發行版中

    2 fping指令的幾個選項如下所示:

       選項-a 指定列印出所有活動主機的IP位址

       選項-u 指定列印出所有無法到達的主機

       選項-g 指定從寫作IP/mask的“斜線-子網路遮罩”記法或者起止IP位址記法中生成IP位址範圍

7.4 傳輸檔案

     1 用來在網絡上傳輸檔案的指令多數都已預設包含在安裝好的Linux中,通過FTP傳輸檔案可以使用lftp指令,通過SSH傳輸檔案可以使用sftp,RSYNC使用SSH與rcync指令,借助scp通過SSH進行傳輸

     2 檔案傳輸協定FTP是一個古老的用于網絡主機之間傳輸檔案的檔案傳輸協定

        我們可以使用lftp指令可以通路FTP伺服器以便傳輸檔案,它使用端口21,隻有遠端主機上面安裝有FTP伺服器才能使用FTP

     3 要連接配接FTP伺服器可以使用: lftp username@ftphost

     4 連接配接上FTP伺服器之後,我們可以在提示符之後使用如下指令:

        用cd directory改變目錄

        用lcd改變本地主機的目錄

        用mkdir建立目錄

        用get filename下載下傳檔案到目前主機的目錄

        用put filename從目前主機目錄上傳檔案

        用quit來退出lftp會話

     5 SFTP是一個類似FTP的檔案傳輸系統,它運作在SSH連接配接之上,SFTP利用SSH連接配接模拟FTP接口

     6 運作sftp: sftp user@domainname

     7 SCP是一項比傳統遠端複制工具rcp更安全的檔案複制技術,檔案都是通過SSH加密通道進行傳輸的

        我們可以使用像下面這樣輕松地将檔案傳輸到遠端主機: scp filename user@remotehost: /home/path

     8 将遠端主機中的檔案複制到目前目錄,并采用給定檔案名: scp user@remotehost:/home/path/filename filename

     9 使用scp的-r選項,我們可以在兩台網絡主機之間對檔案進行遞歸複制: scp -r /home/slynux user@remotehost:/home/backups

7.5 用SSH在遠端主機上運作指令

    1 SSH是一個很有意思的系統管理工具,它能夠通過shell登入并控制遠端主機。

    2 用下面的方法連接配接運作SSH伺服器的遠端主機: ssh username@remote_host

       username是遠端主機上的使用者,remote_host可以是域名或IP位址

    3 ssh伺服器預設在端口22運作,不過,有些運作在ssh服務的伺服器并不在這個端口運作,針對這種情況,用ssh指令的-p port_no指定端口

       ssh username@localhost -p 422

7.6 在網絡上發送多點傳播式視窗消息

     1 可以用zenity來實作一個GUI彈出視窗,zenity是一個腳本化的GUI工具,用來建立包括文本框,輸入框等在内的視窗

     2 要用zenity建立一個資訊框,可以使用: zenity --info --text "this is a message"

        這條指令會顯示一個視窗,上面顯示文本“this is a message"

     3 netstat是一個用于網絡服務分析的指令

繼續閱讀