nbtscan 을 통 해 랜 MAC 주소 와 IP 주 소 를 수집 하 는 스 크 립 트

다음 스 크 립 트 는 nbtscan 이라는 도 구 를 설치 하여 실현 해 야 합 니 다. IP 주소 가 통계 하기 어 려 운\MAC 주소 가 통계 하기 어 려 운 것 은 약간의 역할 을 발휘 할 수 있 습 니 다.유일한 단점 은 강 한 방화벽 을 만 났 을 때 호스트 이름 으로 IP 와 MAC 주 소 를 가 져 올 수 없다 는 것 이다.
생 성 된 IP 및 MAC 주 소 는 동적 투명 방화벽 을 만 들 때 사용 할 수 있 습 니 다.이 스 크 립 트 는 실제 적 인 용도 가 없 을 수도 있 습 니 다. 셸 을 연습 하 는 것 으로 생각 합 니 다.

  
  
  
  
  1. #!/bin/bash  
  2. #this script will auto getip and auto control   
  3. #made by cheng  
  4. #ctime:2011/02/17  
  5. #version: 1  
  6. #mail:[email protected]  
  7.  
  8. if [ ! -d  /etc/tcp_control ];then  
  9.     mkdir /etc/tcp_control  
  10. fi  
  11. #mkdir /usr/local/nbtscan  
  12. #tar -xzf ./nbtscan-source-1.0.35.gz -C /usr/local/nbtscan  
  13. #cd /usr/local/nbtscan && make  
  14. #nb=/usr/local/nbtscan  
  15. nb=/root/nb  
  16. nbstat=/etc/tcp_control/nbstat  
  17. conf=/etc/tcp_control  
  18. ip_table=/etc/tcp_control/ip_table   
  19.  
  20. #edit files  
  21. $nb/nbtscan 192.168.10.0/24 -m > $conf/nbstat && \  
  22. sed -i -e "s/WORKGROUP\\\//g"  -i -e "s/RYOYO\\\//g" \  
  23. -i -e "s/MSHOME\\\//g"  -i -e "s/\\\//g" $conf/nbstat && \  
  24. sed -i "/ERR/d" /ip_table && awk -F " " '{print $1 "     " $2 "     " $3}' $conf/nbstat > $conf/ip_table  
  25. test -e $conf/ip_control2 || touch $conf/ip_control2 && :> $conf/ip_control2  
  26. test -e $conf/mac_control || touch $conf/mac_control   
  27. test -e $conf/mac_control2 || touch $conf/mac_control2 && :> $conf/mac_control2  
  28. :> $conf/mac_control  
  29.  
  30. #creat ip_table(version2) and mac_control(version2)  
  31. for i in $(cat /etc/tcp_control/pcname)  
  32. do  
  33. cat $conf/ip_table | grep $i | awk -F " " '{print $1}' | sort | uniq >> $conf/ip_control2  
  34. cat $conf/ip_table | grep $i | awk -F " " '{print $3}' | sort | uniq >> $conf/mac_control2  
  35. done   
  36.  
  37. #file comparison;system will auto cp file  
  38. if [ -f $conf/ip_control ];then  
  39.     a=`diff $conf/ip_control  $conf/ip_control2 && echo 0 || echo 1`  
  40.     if [ "$a" != "0" ];then  
  41.         cp -f $conf/ip_control2 $conf/ip_control  
  42.     fi  
  43. else  
  44.     touch $conf/ip_control  
  45. fi  
  46.  
  47. #creat mac_table  
  48. if [ -f $conf/mac_control ];then  
  49.     a=`diff $conf/mac_control  $conf/mac_control2 && echo 0 || echo 1`  
  50.     if [ "$a" != "0" ];then  
  51.         cp -f $conf/mac_control2 $conf/mac_control  
  52.     fi  
  53. fi  
  54.  
  55.    
  56.  

생 성 된 결 과 는 ipcontrol 이것 은 사용 중인 시계 입 니 다. 예 를 들 어 iptables 가 안의 IP 를 호출 했 습 니 다.ip_control 2 는 최신 IP 표 입 니 다. 두 표 가 다 르 면 ipcontrol 2 ip 교체control
원래 이 스 크 립 트 뒤 에는 동적 또는 MAC 제어 에 편리 하도록 iptables 규칙 이 연결 되 어 있 습 니 다.그러나 사용 조건 이 제한 되 어 더 이상 열거 하지 않 습 니 다.
> 내 보 내기 기 호 를 대표 합 니 다. 블 로그 에 기호 보다 크 지 않 습 니 다.

좋은 웹페이지 즐겨찾기