Tôi đang cố gắng tìm cách chuyển đổi địa chỉ ip thành số nguyên 32 bit trong Ruby cho mẫu con rối.chuyển đổi địa chỉ IP thành số nguyên 32 bit trong ruby
Đây là cách tôi đã thực hiện chuyển đổi trong bash.
[email protected]:~# cat test.sh
#!/bin/bash
#eth0 address is 10.0.2.15
privip=`ifconfig eth0 | grep "inet addr:" | cut -d : -f 2 | cut -d " " -f 1` ;
echo "Private IP: ${privip}" ;
# Turn it into unsigned 32-bit integer
ipiter=3 ;
for ipoctet in `echo ${privip} | tr . " "` ;
do
ipint=$((ipint + (ipoctet * 256 ** ipiter--))) ;
done ;
echo "Private IP int32: ${ipint}" ;
.
[email protected]:~# bash test.sh
Private IP: 10.0.2.15
Private IP int32: 167772687
Mọi trợ giúp sẽ được đánh giá cao.