Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以编程方式更改我的PC IP_Java_Python_Ip - Fatal编程技术网

Java 以编程方式更改我的PC IP

Java 以编程方式更改我的PC IP,java,python,ip,Java,Python,Ip,我正在构建的应用程序需要主机每30分钟更改一次IP,我能在没有第三方应用程序的情况下以编程方式完成吗 Python更可取,Java也受欢迎。如果您想更改外部(Internet)IP地址,并且如果您的机器通过dsl连接到Internet,并且您的ISP为您分配了动态IP,您可以重新启动路由器(实际上是您的dsl调制解调器,但如果您没有旧型号,它内置在路由器中)以获得新的IP 从理论上讲,通过向路由器发送一个小的SNMP数据包,告诉它自己重新启动,就可以以编程方式重新启动路由器——前提是路由器遵循协

我正在构建的应用程序需要主机每30分钟更改一次IP,我能在没有第三方应用程序的情况下以编程方式完成吗


Python更可取,Java也受欢迎。

如果您想更改外部(Internet)IP地址,并且如果您的机器通过dsl连接到Internet,并且您的ISP为您分配了动态IP,您可以重新启动路由器(实际上是您的dsl调制解调器,但如果您没有旧型号,它内置在路由器中)以获得新的IP

从理论上讲,通过向路由器发送一个小的SNMP数据包,告诉它自己重新启动,就可以以编程方式重新启动路由器——前提是路由器遵循协议并正确解释数据包,并且没有防火墙或其他过滤器阻止您和路由器之间的SNMP消息

在常见情况下,要设置的SNMP OID是—您可以使用任何具有SNMP库的语言来设置,例如python。根据您的路由器型号,可能需要不同的OID,也可能根本没有通过SNMP重置的方法

假设您的路由器ip为192.168.0.1,并且它接受默认的重置OID,类似这样的内容应该适用于pySNMP:

from pysnmp.entity.rfc3413.oneliner import cmdgen
from pysnmp.proto import rfc1902
cmdgen.CommandGenerator().setCmd(
    cmdgen.CommunityData('my-agent', 'public', 1),
    cmdgen.UdpTransportTarget(('192.168.0.1', 161)),
    ((1,3,6,1,2,1,69,1,1,3,0), rfc1902.Integer(1))
)

我认为更改IP需要联系ISP。此外,这听起来像是试图绕过黑名单或某种禁令。每次更改IP地址都会丢失所有现有连接。如果你这样做是出于安全原因,这是一个坏主意。如果你这样做是为了黑客的目的,这是一个非常糟糕的主意。哪个平台?哪个发行版?使用win32和WMI回答此问题module@Peter:出于好奇:为什么这对黑客来说真的很糟糕?我很确定美国的大多数ISP客户都有动态IP。是这样吗?那么我想我关于这方面的信息有点过时了。几年前,静态IP在美国似乎很普遍(从留言板/irc/论坛对话等判断),我认为在美国拥有静态IP至少比在欧洲要普遍得多。我将从答案中删除该评论。