如何找出某个地址范围内有多少客户端?
我尝试用谷歌搜索这个,但没有找到任何东西...我正在构建一个端口扫描仪,我想这样做,我可以扫描一个网络范围,例如 192.168.2.* 并找出该网络上有多少台计算机在线范围。很像Nmap。我正在用 python 编程。这在Python中可能吗?
I tried googling for this but i didnt find anything... I am building a port scanner and i would like to make it so, that i can scan a network range e.g 192.168.2.* and find out how many computers are on that range that are online. Alot like Nmap. I am programming in python. Is this possible in Python?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 python-nmap。基本用法:
更多参考请参见 http://pypi.python.org/pypi/python-nmap< /a>
Use
python-nmap
. Basic usage:For further reference see http://pypi.python.org/pypi/python-nmap
这是草案示例,您可以从以下开始:
或使用 ICMP 进行类似的操作 (ping)更感谢 UDP:
Here is Draft example that you can start with:
or something like this using ICMP (ping) rather thank UDP:
使用 原始套接字 你可以实现类似 nmap 的东西。您可能会发现,与正常的编程接口相比,需要使用特制的数据包来制作信息最丰富的探测,这些数据包会做“奇怪”的事情。 IP/UDP/TCP RFC 非常值得阅读。
使用原始套接字,您可以逐字节生成您选择的任何探测数据包,并设置在正常情况下通常不可能/很难做到的选项/配置,但会“欺骗”主机泄露大量信息。
Using raw sockets you can implement something nmap-like. You will probably find that the most informative probes need to be made using specially crafted packets that do "odd" things, compared to normal programming interfaces. It's well worth reading up on the IP/UDP/TCP RFCs.
Using raw sockets you can generate byte by byte any probing packet of your choosing, with options/configurations set that are normally impossible/hard to do under normal circumstances, but which "trick" a host into revealing a wealth of information.
对于本地网络上的 IPv4,您可以使用 ARP 使用 Scapy,查看相关问题。
For IPv4 on local net you can resort to ARP using say Scapy, see related question.