【關於網路設備記錄】
=================================================
本模組提供網管方便記錄連線的網路設備。

使用 nmap 等掃描網段工具，定時掃描，再由本模組記錄下校內所有的網路設備。

但掃描資料尚不夠完整，可以開放前台登記供教職員登記使用電腦。在後台，管理者依這些登記，編修資料，使記錄更完整。

在此記錄表中，輔助列出尚未使用的 IP ，及 DHCP 動態分配表( LINUX )。

星號標記重要的設備，方便檢閱是否在啟動狀態。

**注意：
本模組在 Linux 主機並在網域中，執行情形才會最佳狀態。


【環境需求】
=================================================
1.PHP 5 以上
2.需要 Tad Tools 工具包 2.01 版

【安裝方法】
=================================================
1.將新模組解壓，把目錄上傳到 modules 下。
2.進入後台「模組→系統」進行模組安裝。

【更新說明】
=================================================
1.3版
  1.符合 2.5.10 模組架構。
  2.原用 nmap 掃描，增改 ip_scan.py ，原 nmap 仍有保留。
    建立定時執行機制 (10分鐘執行一次) ，注意其中需要配合偏好設定中的變數做調整。( 目錄中有 ip-scan.sh 檔案)
     crontab -e -u root
     */10 * * * * /root/sh/ip-scan.sh

     ip-scan.sh  (內容)
  	#!/bin/bash

  	PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
  	export PATH

  	#nmap 掃描網載，產生記錄文字檔，要放在網頁可以存區處 (以下為範例，要修改網域，及要存放的位置)，
  	#在偏好設定，nmap掃描結果檔   http://網址/tmp/nmap.txt
  	/usr/bin/python3  /root/sh/ip_arp_mt.py >  /var/www/html/tmp/nmap.txt 2> /dev/null


  	#其中代碼為偏好設定--定時連線的代號 (現預設 info_whats )
  	wget -O /dev/null http://你的網址/modules/info_whats/comp.php?do=info_whats   2> /dev/null

    3.ip_arp_mt.py 內容：
#!/usr/bin/env python3
#使用 arp 方式取得 ip 和 mac
#採多核多緒模式執行
#sudo python3 ip_arp_mt.py

from scapy.all import *
import sys,getopt
from multiprocessing.dummy import Pool as ThreadPool

def get_it(ip):
    #arp
    arpPkt = Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip, hwdst="ff:ff:ff:ff:ff:ff")
    res = srp1(arpPkt, timeout=1, verbose=0)
    if res:
        print ("IP= " + res.psrc + "    , MAC= " + res.hwsrc )


if __name__ == '__main__':
    ip_list=[]
    #注意 120.116.24 及 120.116.25 兩個 C 網址是新營國小的 IP ，你需要自行修改。
    for i in range(256):
        ip_list.append("120.116.24.%s" % i)
    for i in range(254):
        ip_list.append("120.116.25.%s" % i)

    pool = ThreadPool(4)
    res=pool.map(get_it,ip_list)
    pool.close()
    pool.join()


1.2版
  增加財產編號的登記，獨立欄位。

1.1版
  增加客戶端開機時執行擷取如 CPU 、記憶體 等訊息存檔，上傳到網頁。
  相關詳細說明： https://github.com/prolin99/get_sysinfo
  配合上述工具，增加查看開機記錄、警示記錄。

  第一次使用請修改  news/sample 目錄中的 get_sysinfo.bat
  set Web= 這個模組的網路位置
  set key= 模組偏好中你自行設定的 -- 定時連線的代號

  修改後可壓縮成 zip 檔（info_whats 目錄下），並在偏好中設定「用戶端下載的程式名稱」，可供下載連結。
  用戶端下載解壓後以系統管理員權限執行 setup.bat 設定開機自動執行 get_sysinfo.bat 上傳資料。
  如果 get_info.bat 有更新版本，請放在 news 目錄下，提供自動更新，用戶端上傳資訊檔後可自動下載最新版本。

  ip neigh show 記錄檔，無法呈現設備是否上線狀況，所以移除不用。
  增加警示頁、開機記錄頁。

  增加財產編號的登記，在後台記錄寫入以@編號，可呈現不同樣式顯示。

1.0版
    增加各欄排序連結。

0.9版
    調整符合 2.5 模組結構。

0.8版
    增加修改名稱時的時間註記，方便查看。

0.7版
    後台增加目前填表分頁。
    在台南 VM 主機中，nmap 掃描開機狀態無法正確。需改另一台主機做 ip-scan 工作。

0.6版
    支援 php7，嚴格資料庫模式

0.5版
    如果 DHCPD 伺服器不在同一台機器，可把 dhcpd.leases 定時複製到網頁空間。偏好-DHCP記錄檔 可以讀取網頁檔。

0.4版
    修正 IP 比對取 MAC 錯誤。
    增加離線主機 email 通知訊息(超過一小時後不再寄送)。


【使用方法】
=================================================
1.要有一台 linux 系統，需要架有網頁功能，安裝 nmap 套件。
2.建立定時執行機制 (10分鐘執行一次) ，注意其中需要配合偏好設定中的變數做調整。( 目錄中有 ip-scan.sh 檔案)
   crontab -e -u root
   */10 * * * * /root/sh/ip-scan.sh

   ip-scan.sh  (內容)
	#!/bin/bash

	PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
	export PATH

	#nmap 掃描網載，產生記錄文字檔，要放在網頁可以存區處 (以下為範例，要修改網域，及要存放的位置)，
	#在偏好設定，nmap掃描結果檔   http://網址/nmap.txt
	# 120.116.24.0/24 為新營國小網域，一定要更改
	/usr/bin/nmap -sP 120.116.24.0/24 > /var/www/html/nmap.txt



	#其中代碼為偏好設定--定時連線的代號 (現預設 info_whats )
	wget -O /dev/null http://你的網址/modules/info_whats/comp.php?do=info_whats   2> /dev/null


3.偏好設定，要和 ip-scan.sh 做配合。
4.如果所在機器，提供 DHCPD 伺服器，偏好中修改 DHCP 記錄檔。
5.如果 DHCPD 和本程式不是在同一台機器，可以訂時把 DHCPD 伺服器中的 /var/lib/dhcpd/dhcpd.leases 複製到網頁空間，
  再指定讀取  http://www.sample.com/dhcp.lease.file ，取得動態分配的機器資料。
6.在後台管理中，可以修改機器名稱，IP，方便你做記錄。在下方會列出	DHCP 設訂內容，可以方便你再改寫伺服器中的 DHCP 設定檔。
7.在前台可以給教職員登記自已使用的機器。這部份會判別是否在校內網域，登錄時會取得 MAC 序號。 在偏好設定中可以指定是否開放登記。
8.開機上傳資訊檔的批次檔，可能會被防毒軟體阻擋造成無法上傳的情形。

*已知問題，在台南虛擬主機 VM 下 nmap 掃描，無法正確的掃描是否開機狀態。建議配合另外主機做 ip-scan 工作。
*需要在同網域才能取得客戶端的 MAC ，所以在台南市集中網頁中，使用登記電腦時，無法判斷使用。
