一、应用范围 一般用在登录限制、查找ip所在城市等需求中,windows的ping命令也支持整数形式的ip。 二、关键技术点 将ip地址转化成整数的方法如下: 1、通过String的indexOf方法找出ip字符串中的点"."的位置。 2、根据点的位置,使用String的substring方法把ip字符串分成4段。 3、使用Long的parseLong方法把子段转化成一个3位整数。 4、通过左移位操作(>>),右移24位,右移时高位补0,得到的数字即为第一...
by luojingqing - Java文档中心 - 2008-01-20 15:27:23 阅读(1053) 回复(0)
如题,我看到如下代码 [code] char * my_inet_ntoa(unsigned int ina) { static char buf[16]; unsigned char *ucp = (unsigned char *)&ina; sprintf(buf, "%d.%d.%d.%d", ucp[0] & 0xff, ucp[1] & 0xff, ucp[2] & 0xff, ucp[3] & 0xff); return buf; } [/code] 我不明白为什么要和0xFF做&操作,我觉得写成 [code] char * my_inet_ntoa(unsigned i...
有些时候,很多人在pub网址的时候会使用一个长整数,这样相对来说ip地址不易为被别人记住,但一样可以在flashfxp等工具中使用,即使是ping也支持这种写法,如:ping 16843009 PING 16843009: (1.1.1.1): 56 data bytes 不过我写这个脚本的最初目的,只是为了用较短的代码判断输入是不是一个符合格式的ip地址。 [code] #!/usr/bin/ksh expr $1 : '^[1-9]\{1\}[0-9]\{0,2\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$' >/dev/nul...
我写了一个脚本用来更新/etc/network/interfaces,该脚本获取两个参数,ip地址和子网掩码,需要自己计算广播域和本网络,但是shell传递的是字符串,没办法通过按位与的方法获得,怎样把字符串变成数字形式,请大家指点一下,有没有这样的命令,或者是我的思路有问题。
将[code]27.40.128.0 27.40.216.255[/code]转换成[code]27.40.128.0/18 27.40.192.0/20 27.40.208.0/21 27.40.216.0/24[/code]这个文件很大,是整个联通的ip段 我需要转换成CIDR[code]1.24.0.0 1.31.255.255 1.56.0.0 1.56.255.255 1.57.0.0 1.57.97.255 1.57.98.0 1.57.98.255 1.57.99.0 1.57.214.255 1.57.215.0 1.57.215.255 1.57.216.0 1.57.255.255 1.58.0.0 1.58.255.255 1.59.0.0 1.59.84.255 1.59.85.0 1.59.85.255 1...
typedef struct { struct in_addr sip; struct in_addr dip; uint16_t sport; uint16_t dport; ...
文件格式为这样子的, 4.36.125.0 4.36.127.255 美国 坦帕大学 大概有30多万这样的记录,请问怎么才能装成sql文件导入到数据库呢? 有个高手教我用 awk '{print "insert into TbName(f1,f2,f3,f4) values("$1,","$2,","$3,","$4");"}' filename.txt >good.sql 不过这样只能实现 insert into ipaddr(Startip,Endip,Country,Local) values(0.0.0.0 ,0.255.255.255 ,IANA ,CZ88.NET); 我要将引号加进去实现 ins...
比如将文件 如下格式 [code] 192.168.0.1 192.168.0.1 192.168.0.1 192.168.0.1 192.168.0.1 [/code] 转换后变成这样 [code] www.163.com www.sohu.com localhost [/code]