1. 程式人生 > >使用awk/grep檢查IP地址的合法性

使用awk/grep檢查IP地址的合法性

正確的IP地址格式:

1.以點號為分隔的域為4或6(IPV6);

2.除點號外全部為數字;

3.第一個和最後一個位元組不能為0;

4.所有位元組的數值不能超過255;

5.最後一個位元組不能為255;(這是子網廣播地址)

IPADDR=192.168.1.1 (有效)
IPADDR=192.168.0.254(有效)
IPADDR=10.0.0.0(無效)
IPADDR=0.1.1.1(無效)
IPADDR=192.168.001.001 (無效)
IPADDR=1aa.2bb.3cc.4dd (無效)
IPADDR=aaa.bbb.ccc.ddd (無效)
IPADDR=192.168.1.1.2 (無效)
IPADDR=292.168.1.1(無效)


IPADDR=192.168.1.1111(無效)

IPADDR=192.001.2.3(無效)

echo $a |grep "^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$"|grep -v "\.0[0-9]\{1,2\}"|grep -v "^0[0-9]\{1,2\}" || return 1

echo $a |awk -F. '{if(NF==4 && $1>0 && $1<=255 && $2>=0 && $2<=255 && $3>=0 && $3<=255 && $4>0 && $4<255) exit 0; else exit 1}'

相關推薦

使用awk/grep檢查IP地址合法性

正確的IP地址格式: 1.以點號為分隔的域為4或6(IPV6); 2.除點號外全部為數字; 3.第一個和最後一個位元組不能為0; 4.所有位元組的數值不能超過255; 5.最後一個位元組不能為255;(這是子網廣播地址) IPADDR=192.168.1.1 (有效)IP

PHP 檢查IP地址 合法性 ipaddr int string 轉換

* ip.php <?php function check_ip_validity($ip) { $pat = '/\d{1,3}\.\d{1,3}\.\d{1,3}+\.\d{1,3}/'; $r = preg_match( $pat, $ip ); if (e

IP地址合法性和網路類別檢查

IP地址就是給每個連線在網際網路上的每一臺主機(或路由器)的每一個介面分配一個在全世界範圍是唯一的32位的識別符號。“分類的IP地址”就是將IP地址劃分為若干個固定類,每一類地址都由兩個固定長度的欄位組成,其中第一個欄位是網路號net-id,它標誌主機(或路由器)所連線到的網路,第二個欄位是主機號host-i

Python IP地址合法性的校驗

#!/usr/bin/python import os,sys def check_ip(ipaddr):addr=ipaddr.strip().split('.')   #切割IP地址為一個列表#print addr         if len(addr) != 4:

awk -F選項同時指定多個符號做為分割符時遇到空格坑,題目:請執行命令取出 linux 中 eth0 的 IP 地址

取出linux中eth0的ip地址 awk空格遇坑 老男孩第三關課前考試題的第三個筆試題第三關課前考試題:3.請執行命令取出 linux 中 eth0 的 IP 地址(請用 cut,有能力者也可分別用 awk,sed 命令答)因為以前有個題講過awk -F選項可以指定輸入分割符,也可以同時使用多個符號作為分割

awk , 統計secure.log中 每個破解你密碼的ip的出現次數|access.log 中 每個ip地址出現的次數

root sha 阿爾巴尼亞 lsp layer 關閉 AS 越南 反饋 統計secure.log中 每個破解你密碼的ip的出現次數 [root@oldboyedu-sh01-lnb files]# awk ‘/Failed password/{h[$(NF-3)]++}

shell腳本之檢查局域網中在線的ip地址

bash -c AR lse shel .sh 運行 class ip地址 [root@docker-node1 ]# cat ping.sh #!/bin/bash . /etc/init.d/functions for var in {1..254}; d

Linux C 檢查IP和MAC的合法性

1,檢測IP演算法,介面說明也如下圖。   /* *brief *param: the ip address *return value: if susscess,0 is returned,or 1 is returned on erro

小技巧:檢查你本地及公共 IP 地址

你本地的 IP 地址: 192.168.1.100 上面是分配給你計算機上的內部硬體或虛擬網絡卡的本地/私有 IP 地址。根據你的 LAN 配置,上述 IP 地址可能是靜態或動態的。 如果你找不到上述任何地址,請在 Linux 上執行 ifconfig 或 i

Linux grep 命令正則匹配IP地址

1,以nginx的access.log日誌為例grep -o "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}" /var/log/nginx/access.log egrep -o "([0-9]{1,3}.){3}[0-9]{1,3}" /var/log/ngin

php 獲取客戶端的真實IP地址檢查客戶端從什麼地方過來的請求

/* * 函式功能: 獲取客戶端的真實IP地址 * * 為什麼要用這個函式? * 因為我們線上Web伺服器絕大部分都處於Netscaler(簡稱NS)後面,客戶端訪問的地址統一由NS排程 * 由NS排程的訪問其實就是NS做了一層代理, 這期間就有一個問題, 因為真實

python怎麼判斷IP地址合法性

[[email protected] python]# vi check_ip.py #!/usr/bin/python import os,sys def check_ip(ipaddr): import sys addr=ipaddr.strip().split('.') #切割

IP地址合法性驗證 程式

           這幾天做網路的課程設計,選了一道程式題  IP地址的合法性驗證 目的:掌握IP地址的分類,準確理解子網、掩碼的概念,確切地明瞭IP地址的合法格式。<?xml:namespace prefix = o ns = "urn:schemas-micros

linux伺服器如何檢查遠端使用者登陸狀態、時間、ip地址等資訊

問題:因為某專案組在同一個伺服器上都是用的同一個登入名和密碼,所以專案管理上無法做到具體誰對伺服器進行了某些操作,現在的需求是能具體到某個研發人員在這個伺服器上的操作。公司用的內網,IP地址是動態的,也無法從IP地址確定到某個人。所以能否在研發人員登入伺服器時,伺服器根據登入者的IP地址直接獲取到他電腦的名

判斷IP地址,MAC地址合法性-C語言

int isValidMac(char *value) { int r; //r=0:valid, else not valid char *reg="^[0-9A-F]\\([0-9A-F]

如何查看本機ip地址

查看 img 命令 com images png onf ipc 技術分享 在命令行輸入cmd 輸入ipConfig 如何查看本機ip地址

ip地址的正則表達式及JAVA的字符串提取方法

ava compile 正則表達式 pat group put [0 header 方法 ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?) Pattern p=Pattern.comp

IP地址

dash cidr 任務 9.png 物理 表示 通過 子網 配置 五類IP地址   最初設計互聯網絡時,為了便於尋址以及層次化構造網絡,IP地址采用分層結構,每個IP地址包括兩個標識碼(ID),即網絡ID和主機ID。同一個物理網絡上的所有主機都使用同一個網絡ID,網絡上

Java中使用HttpRequest獲取用戶真實IP地址

ase sign sso ignorecas == case ipaddr ava color 1 import javax.servlet.http.HttpServletRequest; 2 3 /** 4 * 自定義訪問對象工具類

Windows無法配置IP地址

spa 題解 顯示 路由器 什麽 改ip ipconfig 路由 ima 今天上班時,數據庫突然斷了。公司使用的是固定IP地址,第一反應是看IP地址。在“網絡和共享中心”中查看IP地址,發現網關沒了,趕緊配置上。但還是連接不上外網,通過命令行ipconfig查看