使用ARP协议探测局域网活动主机的程序(Qt4界面)

由本社区发起的开源项目
头像
Cherrot
帖子: 981
注册时间: 2011-04-03 10:01
系统: Ubuntu 12.XX
来自: 帝都
联系:

使用ARP协议探测局域网活动主机的程序(Qt4界面)

#1

帖子 Cherrot » 2011-11-30 17:21

界面拿Qt设计师做的,使用Qt线程库实现发送ARP请求和接收ARP响应的多线程处理。
刚刚开始学习,Qt、C++、Linux系统调用用的还不熟,只能说这个小东西实现了我要的功能而已。
我已经尽最大努力把代码写的优雅一点了……

感谢IRC里的朋友们,解决了我好多难题,感谢ofan, snugglecat 和其他热心的朋友们 :em01

下一步会把简单的ARP欺骗等实用的功能加进来,然后重构一下代码 :em03
使用效果截图,因为涉及到封装原始套接字,所以记得sudo
使用效果截图,因为涉及到封装原始套接字,所以记得sudo
源代码:
arpdetect.tar.bz2
源代码,注释已改成英文
(11.06 KiB) 已下载 286 次
64位下的可执行文件:
arpdetect_bin.tar.bz2
64位可执行文件(手头找不到32位的linux..)
(29.46 KiB) 已下载 186 次
源代码为Qt项目,导入后可能需要改变一下项目配置以通过编译。
2011-12-01 源代码更新,修正了非root用户使用时造成线程死锁和异常退出的情况
2011-12-01.2 源代码更新,注释改成了英文。 但界面未做国际化,只能显示中文。
上次由 Cherrot 在 2011-12-01 9:49,总共编辑 3 次。
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#2

帖子 枫叶饭团 » 2011-11-30 18:18

这。。。下载到手机上看看
头像
acer4740
帖子: 1405
注册时间: 2010-09-13 19:04
来自: 0xFF00EE

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#3

帖子 acer4740 » 2011-11-30 19:52

来个编译好的看看
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#4

帖子 枫叶饭团 » 2011-11-30 23:27

悲剧,注释居然是中文的。。。codepad不支持中文 :em20 :em20
头像
Cherrot
帖子: 981
注册时间: 2011-04-03 10:01
系统: Ubuntu 12.XX
来自: 帝都
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#5

帖子 Cherrot » 2011-12-01 8:39

额 我改一下注释……
可执行文件以上传
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.
头像
Cherrot
帖子: 981
注册时间: 2011-04-03 10:01
系统: Ubuntu 12.XX
来自: 帝都
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#6

帖子 Cherrot » 2011-12-01 9:38

注释全部翻译成英文了,但我还不会做国际化,所以界面是中文,而且字符串是内嵌到代码中的 :em03
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.
sdwdcxy
帖子: 17
注册时间: 2008-09-19 17:49

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#7

帖子 sdwdcxy » 2011-12-08 8:16

只能探测局域网活动主机,能否记录活动主机所访问的网站?
头像
jeromecui
帖子: 25
注册时间: 2009-05-05 22:14

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#8

帖子 jeromecui » 2011-12-08 10:51

sdwdcxy 写了:只能探测局域网活动主机,能否记录活动主机所访问的网站?
你想干吗阿???
头像
灰色小狼
帖子: 4585
注册时间: 2008-12-06 10:38
系统: Arch

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#9

帖子 灰色小狼 » 2011-12-08 11:02

话说linux怎么设置拒绝内网arp :em03
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#10

帖子 eexpress » 2011-12-08 11:16

练手用的吧。
把lo去掉吧。不活动的网卡,至少灰色,不可选。
功能上,nmap其实足够了。
● 鸣学
头像
Cherrot
帖子: 981
注册时间: 2011-04-03 10:01
系统: Ubuntu 12.XX
来自: 帝都
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#11

帖子 Cherrot » 2011-12-11 10:02

嗯 练手玩儿的小程序而已 :em04
NMAP各种强大哦, 当然还有dsniff

目前只能探测交换网内的活动主机,更多的监控功能就搞不定了,没这技术呀 :em04
Ubuntu技巧汇总http://wiki.ubuntu.org.cn/UbuntuSkills --你遇到的各种问题可能已经在里面了
我的技术博客http://www.cherrot.com
Code tells you how, comments should tell you why.
头像
phoenixlzx
帖子: 2245
注册时间: 2009-07-29 20:11
系统: Arch Linux
来自: Gensokyo
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#12

帖子 phoenixlzx » 2011-12-11 10:42

哦哦~正在学习Qt呢。学习学习...
顺便拜一下 :em70
头像
phoenixlzx
帖子: 2245
注册时间: 2009-07-29 20:11
系统: Arch Linux
来自: Gensokyo
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#13

帖子 phoenixlzx » 2011-12-11 10:59

额...为什么Qt Creator里头文件会显示“没有那个文件或目录”??
抓图99.png
抓图99.png (24.72 KiB) 查看 10405 次
头像
phoenixlzx
帖子: 2245
注册时间: 2009-07-29 20:11
系统: Arch Linux
来自: Gensokyo
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#14

帖子 phoenixlzx » 2011-12-11 11:12

啊...自己解决了,在“项目”里改一下构建配置就OK啦 :em06
头像
fenghelong
帖子: 179
注册时间: 2011-06-20 12:59
系统: MacOS,Ubuntu
来自: 上海市闵行区
联系:

Re: 使用ARP协议探测局域网活动主机的程序(Qt4界面)

#15

帖子 fenghelong » 2012-07-17 20:04

Cherrot 写了:界面拿Qt设计师做的,使用Qt线程库实现发送ARP请求和接收ARP响应的多线程处理。
刚刚开始学习,Qt、C++、Linux系统调用用的还不熟,只能说这个小东西实现了我要的功能而已。
我已经尽最大努力把代码写的优雅一点了……

感谢IRC里的朋友们,解决了我好多难题,感谢ofan, snugglecat 和其他热心的朋友们 :em01

下一步会把简单的ARP欺骗等实用的功能加进来,然后重构一下代码 :em03
20111130.png
源代码:
arpdetect.tar.bz2
64位下的可执行文件:
arpdetect_bin.tar.bz2
源代码为Qt项目,导入后可能需要改变一下项目配置以通过编译。
2011-12-01 源代码更新,修正了非root用户使用时造成线程死锁和异常退出的情况
2011-12-01.2 源代码更新,注释改成了英文。 但界面未做国际化,只能显示中文。
编写这个需要什么知识呢?
Happy Life.
回复