(‘设计用于DHCP服务器故障排除的DHCP客户端’,)

dora-dhcp-client的Python项目详细描述


DORA DHCP客户端

版本0.1.2

设计用于故障排除的Python命令行DHCP客户端。提供一个接口,用于将定制的DHCP数据包发送到DHCP服务器并检查响应。在

安装

Python

直接用Python3.8运行,使用pip安装:

  • pip install dora-dhcp-client

替代安装

交替安装并作为Docker映像运行。在

sudo curl -L --fail https://raw.githubusercontent.com/vfrazao-ns1/dora_dhcp_client/master/run.sh -o /usr/local/bin/dora
sudo chmod +x /usr/local/bin/dora

要求

  • Python 3.8.0或更高版本
  • Docker(可选)

注意:这已经在Ubuntu18.04和WindowsWSL上测试过了。可以也可以不可以在其他平台上工作。

基本用途

检查端口68(如果设置了中继字段,则端口67)当前是否绑定到另一个程序(例如使用:sudo netstat -tulpn)。如果有任何东西绑定到这些端口,必须首先杀死它们,并阻止它们重新启动。在

运行带有-h/--help标志的dora.py以查看所有可用选项:

^{pr2}$

注意:多拉。皮伊必须能够绑定到端口68(在某些情况下是67)才能正常工作。这可能需要使用sudo。这可能还需要停止已绑定到这些端口的任何服务(例如systemd networkd)。

DORA Client Example

运行dora.py而不提供任何选项,只会绑定到任意接口并发送广播UDP包。在

-i允许选择要绑定到的接口(例如,“eth0”)

-a允许在client identifier选项和chaddr字段中设置MAC地址

-d打印非常低级的调试语句,并包括任何Python回溯

-u设置DHCP数据包中的单播标志

-s指定要将数据包发送到的单播地址,-u标志应该被选中,但不需要选择

-r设置包的giaddr字段

-v设置输出的详细级别。没有v标志意味着客户机将只报告获得租约的成功或失败。一个单独的v标志(-v)将很好地打印出人类可读的DHCPACK包形式。这将显示DHCP服务器发送给我们的一组选项。两个v标志(-vv)将精确打印租约握手中的所有四个数据包(DHCPDISCOVER、DHCPOFFER、DHCPREQUEST、DHCPACK)。三个v标志将打印前面声明的所有内容,并将启用调试输出(与设置-d标志相同)。在

-p设置客户端端口(默认值:68)

--target_port设置服务器端口(默认值:67)

-@是一个方便的标志,它设置单播标志,将giaddr字段设置为当前计算机的IP,并将单播数据包发送到指定的服务器

注意DHCP RFC 2131将客户机端口设置为68,服务器端口设置为67,这些选项设置了不同的客户端或服务器端口,这些选项不适用于符合RFC的服务器

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何通过标记名检索多个标记中的元素以进行selenium自动化测试   java iText如何查找最后一行被拆分到下一页   java如何在hudson中的特定jdk上运行Findbugs和PMD?   如何确保java程序与java Environment 6兼容?   对形状进行分组,这样我就可以通过鼠标点击和java处理循环浏览它们   使用生成器映射对象时,java定义无效   maven Java:Struts2和IntelliJ供初学者使用   java子类不继承父类字段   java Android Grid View在Android版本kitkat上崩溃   java Hibernate从缓存返回错误的列表,即使预期的列表与缓存的列表不同   java SendGrid:模板和替换标记   用于普通生产者| Kafka流的java自定义分区器   安卓理解Java内部类中的作用域   无法从Android Studio中的非静态方法调用java非静态方法   比较两个XML响应的JavaXMLUnit   java使用keytool列出密钥   不使用Java客户端库将视频上传到YouTube数据API v3   java My While循环即使在满足条件时也不会结束   自动在外部存储字符串数据,以便以后在Java中使用