[gull] netfunc.bash

felix felix at f-hauri.ch
Tue Apr 5 08:06:50 CEST 2022


Bonjour,

J'ai (enfin) publié ma release de ma batterie de function IPv4, pour laquelle
j'ai supprimé tous les forks et optimisé l'éxecution:

  https://f-hauri.ch/vrac/netfunc.bash.txt

Ce fichier est un fichier bash, à ``sourcer'':

  . netfunc.bash
  Bash source file for IPV4 computing - netfunc v0.13
   - int2ip       integer to IPv4
   - int2rev      3 most significant bytes, for reverse DNS X.X.X.in-addr.arpa
   - checkIsIp    throw an error if not valid IPv4
   - ip2int       IPv4 to integer 32 bits value.
   - mask2int     from mask len to integer value of IPv4 mask
   - int2mlen     compute mask len from integer value of IPv4 mask
   - be2int       Big Endian to INTeger, ( for reading proc/net/route )
   - int2uu       1st run generate int2uu() to render bash's 64# from integer
   - int2bin      1st run generate int2bin to render 32bits, mark mask with a dot.
   - rangeIp      Generate array of integer representation of IPv4 from argument
   - multiping    One ping on many target. Use integer representation of IPv4
   - ip2hnam      Fork to `host` and store in _ipResInv, if not already stored.
   - hname2ip     Fork to `host` and store in _ipResolv, if not already stored.
   - isup         Monitor ping many targets simultaneously (hit any key to quit)
   - mping        quick ping scan IPv4 ranges and resolv host name of waked hosts
   - ipcalc       compute and render network submited as [ip mask] or [ip/masklen]
   - getLocalNet  Get local config from /proc/net/ pseudo files
   - commonNet    compute smallest common network for many IP/net
   - reCIDR       Compute shortened list of CIDR for argument or STDIN
   - netfuncFList List functions (this.) [-v]

Quelques applications:

 $ ipcalc 192.168.1.33/24
 +-------------+---------------+-----------+--------------------------+---------+
 | Network base|192.168.1.0    |         #0|11000000 10101000 00000001| 00000000|
 | Mask        |255.255.255.0  |/24        |11111111 11111111 11111111| 00000000|
 | Broadcast   |192.168.1.255  |       #255|11000000 10101000 00000001| 11111111|
 | Host/net    |254            |Class C    |                          |         |
 +-------------+---------------+-----------+--------------------------+---------+
 | First host  |192.168.1.1    |         #1|11000000 10101000 00000001| 00000001|
 |>Host        |192.168.1.33   |        #33|11000000 10101000 00000001| 00100001|
 | Last host   |192.168.1.254  |       #254|11000000 10101000 00000001| 11111110|
 +-------------+---------------+-----------+--------------------------+---------+

 $ isup 192.168.1.1 192.168.1.33 google.com
      Elaps Cnt  zrh..14  fir..ll  19...33
    10.0964   3     11.3    0.413    0.252
 la boucle est interruptible en appuyant sur [return].

 $ commonNet 10.11.12.13 10.11.15.2
 +-------------+---------------+-----------+------------------------+-----------+
 | Network base|10.11.12.0     |         #0|00001010 00001011 000011|00 00000000|
 | Mask        |255.255.252.0  |/22        |11111111 11111111 111111|00 00000000|
 | Broadcast   |10.11.15.255   |      #1023|00001010 00001011 000011|11 11111111|
 | Host/net    |1022           |Class A    |                        |           |
 +-------------+---------------+-----------+------------------------+-----------+
 | First host  |10.11.12.1     |         #1|00001010 00001011 000011|00 00000001|
 |>IP min      |10.11.12.13    |        #13|00001010 00001011 000011|00 00001101|
 | IP max      |10.11.15.2     |       #770|00001010 00001011 000011|11 00000010|
 | Last host   |10.11.15.254   |      #1022|00001010 00001011 000011|11 11111110|
 +-------------+---------------+-----------+------------------------+-----------+

 $ reCIDR 10.11.12.13/23 10.11.15.2/23
 10.11.12.0/22

-- 
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list