|
|
|
BASH проверить содержится ли текущий IP подсети (/N)
|
|||
|---|---|---|---|
|
#18+
Как проверить в BASH (без вызовов внешних скриптов) содержится ли текущий IP подсети /N: IP: 8.8.8.8 Подсеть: 8.8.8.0/25 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.02.2017, 18:51 |
|
||
|
BASH проверить содержится ли текущий IP подсети (/N)
|
|||
|---|---|---|---|
|
#18+
решил вопрос сам, может кому пригодится. #!/bin/bash ipinnet(){ read NET WIDTH <<< `tr / ' ' <<< "$1"` read IP1 IP2 IP3 IP4 <<< `tr . ' ' <<< "$NET"` read sIP1 sIP2 sIP3 sIP4 <<< `tr . ' ' <<< "$2"` MASK=$(( (0xffffffff << $((32 - WIDTH))) & 0xffffffff )) sMINADDR=$(( ((sIP1 << 24) | (sIP2 << 16) | (sIP3 << 8) | sIP4) )) MINADDR=$(( ((IP1 << 24) | (IP2 << 16) | (IP3 << 8) | IP4) & MASK )) MAXADDR=$(( MINADDR | (0xffffffff ^ MASK) )) return $(( ( ${sMINADDR} | (0xffffffff ^ MASK)) == ${MAXADDR} )) } ipinnet "10.0.0.252/20" "10.0.0.25" echo $? # 1 - IP in subnet # 0 - no ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2017, 23:57 |
|
||
|
BASH проверить содержится ли текущий IP подсети (/N)
|
|||
|---|---|---|---|
|
#18+
Если версия баша поддерживает массивы, то быстрее будет так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 06:11 |
|
||
|
BASH проверить содержится ли текущий IP подсети (/N)
|
|||
|---|---|---|---|
|
#18+
на всякий случай версия без баша , может кому пригодится . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 11:41 |
|
||
|
BASH проверить содержится ли текущий IP подсети (/N)
|
|||
|---|---|---|---|
|
#18+
74-я причина учить питон. Я последнее время пишу скрипты на смеси баша с питоном - намного удобнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 13:09 |
|
||
|
BASH проверить содержится ли текущий IP подсети (/N)
|
|||
|---|---|---|---|
|
#18+
shscripЕсли версия баша поддерживает массивы, то быстрее будет так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Реально быстро. Эта версия в 60 раз быстрее моей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 15:15 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=23&tid=1340492]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 327ms |

| 0 / 0 |
