[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