免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2683 | 回复: 10
打印 上一主题 下一主题

问一个IP地址转换的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-28 17:25 |只看该作者 |倒序浏览
比如IP为 10.200.109.89
子网掩码在 255.255.248.0

1.怎么将IP地址转换为二进制的0和1?
2.怎么实现IP地址与子网掩码的按位与?

谢谢

论坛徽章:
0
2 [报告]
发表于 2010-09-28 17:49 |只看该作者
急求大牛给答案啊
我搞了一天都没搞出来

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
3 [报告]
发表于 2010-09-28 17:51 |只看该作者
ipcalc

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
4 [报告]
发表于 2010-09-28 17:52 |只看该作者
ipcalc 10.200.109.89
Address:   10.200.109.89        00001010.11001000.01101101. 01011001

论坛徽章:
0
5 [报告]
发表于 2010-09-28 17:56 |只看该作者
回复 4# expert1


    多谢,我的机器里面不能装ipcalc,所以用不了这个命令。。。。

论坛徽章:
0
6 [报告]
发表于 2010-09-28 17:58 |只看该作者
回复 1# feigepp


    第二个问题我已经解决了,echo $((a&b))就可以解决,第一个问题还要请大牛来搞定 脚本不知道怎么写

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
7 [报告]
发表于 2010-09-28 17:58 |只看该作者
呵呵,那就比较麻烦了,囧。
你自定义函数转成二进制的,至于求与运输,awk有个函数。
你这个用ipcalc最简单了。装不了那没办法了

论坛徽章:
0
8 [报告]
发表于 2010-09-28 18:04 |只看该作者
回复 7# expert1


    多谢

论坛徽章:
0
9 [报告]
发表于 2010-09-28 18:48 |只看该作者
回复 1# feigepp


写了个脚本
  1. #!/bin/bash

  2. A=($(echo $1|sed 's/\./\n/g'))
  3. for i in "${A[@]}"
  4. do
  5.         while :
  6.         do
  7.                 num=$((i%2))   
  8.                 if [[ ${#n} -eq 8 ]];then
  9.                         break   
  10.                 else   
  11.                         n=${num}${n}
  12.                         ((i/=2))
  13.                 fi      
  14.         done   
  15.         Bip="${Bip} $n"
  16.         n=      
  17. done
  18. echo $Bip
复制代码
[root@localhost 3]# ./a.sh 10.200.109.89                                                              
00001010 11001000 01101101 01011001
[root@localhost 3]#

论坛徽章:
0
10 [报告]
发表于 2010-09-28 19:17 |只看该作者
回复 9# 好看的附件


    学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP