php修改IP发送数据包,php修改ip地址

php能否实现定向给某个ip地址的客户端发送数据?如果能,如何实现?

socket函数啊 先$sock=socket_create(....) 再socket_bind($sock,$address,$port)

铜官网站建设公司创新互联,铜官网站设计制作,有大型网站制作公司丰富经验。已为铜官超过千家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的铜官做网站的公司定做!

PHP发送数据到指定IP计算机

要看你是同步还是异步了,异步的话,每次发送都要走三次握手,再计算总时间

你要快就同步,同时发1000台计算机,不用等每一次的返回是否正确.

PHP发送数据到IP TCP/UDP

php是脚本语言,估计无法实现你这个愿望。

以前的高手是通过CGI来实现的,就是因为CGI是应用程序,安全性不好,所以后来才流行PHP这类脚本语言的(就好像以前电脑上都是administrator,现在都是用户自己的账户了一样)。

php 修改服务器IP

1.确认执行该PHP脚本的系统具备修改服务器IP/子网掩码/网关的权限.

2.确认你的PHP运行执行shell_exec的函数,这个函数在安全模式下是被屏蔽的.

3.确认你在shell_exec里面执行的系统命令行是正确的.

简单的例子:

$

vi

test.php

#!/usr/bin/php

?php

$rsl

=

shell_exec("fconfig

eth0

192.168.1.2

netmask

255.255.255.0");

//改ip和子网掩码的.

$rsl2

=

shell_exec("route

add

default

gw

192.168.1.1");

//设置网关

echo

$rsl."\n".$rsl2;//看看返回的结果.

?

$

chmod

755

test.php

--

给脚本增加执行的权限

$

./test.php

参考其他函数:

exec()

system()

等等.

windows下怎么做?

我又没钱买windows我怎么知道!

php如何获取IP并发送

这个是做不到的,因为在b.php这个页面看来,a.php和你都是客户端,客户端是没有能力伪造自己的ip的

换个思路的话,你可以在你本机部署个a.php,或者你的机器开代理,让a.php用代理的方式访问你的机器,然后再向b.php发起请求(我只能说出这个思路,但具体我实现不了,因为不会配置代理)

如何在PHP中使用socket+XML发送数据包

接收指定IP的数据包,其他IP都要过滤吧,那就用防火墙来搞吧

使用的是client段的获取方式,用client的可以指定IP,代码大概如下

public void SendMessage()

{

ASCII = Encoding.ASCII;

// 构造用于发送的 字节缓冲.

Byte[] sendBytes = ASCII.GetBytes(SEND_MESSAGE);

// 构造用于接收的 字节缓冲.

Byte[] recvBytes = new Byte[256];

// IP地址.

IPAddress localAddr = IPAddress.Parse("192.168.19.81");

// 接入点.

IPEndPoint ephost = new IPEndPoint(localAddr, PORT);

// 第一个参数:AddressFamily = 指定 Socket 类的实例可以使用的寻址方案。

// Unspecified 未指定地址族。

// InterNetwork IP 版本 4 的地址。

// InterNetworkV6 IP 版本 6 的地址。

//

// 第二个参数:SocketType = 指定 Socket 类的实例表示的套接字类型。

// Stream 一个套接字类型,支持可靠、双向、基于连接的字节流,而不重复数据,也不保留边界。

// 此类型的 Socket 与单个对方主机通信,并且在通信开始之前需要建立远程主机连接。

// 此套接字类型使用传输控制协议 (Tcp),AddressFamily 可以是 InterNetwork,也可以是 InterNetworkV6。

//

// 第三个参数:ProtocolType = 指定 Socket 类支持的协议。

// Tcp 传输控制协议 (TCP)。

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

try

{

// 尝试连接主机.

s.Connect(ephost);

//Console.WriteLine("向服务器发送到了:{0}", SEND_MESSAGE);

// 向主机发送数据.

// s.Send(sendBytes, sendBytes.Length, SocketFlags.None);

// 接收服务器的应答.

Int32 bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);

StringBuilder buff = new StringBuilder();

// while (bytes 0)

// {

// 将缓冲的字节数组,装换为字符串.

// String str = ASCII.GetString(recvBytes, 0, bytes);

String str = "";

for (int i = 0; i recvBytes.Length; i++)

{

str = str + recvBytes[i];

}

int iCount = 0;

iCount = int.Parse(str.Substring(13, 6)) ;

// 加入字符串缓存

buff.Append(str);

// 再次接受,看看后面还有没有数据.

//bytes = s.Receive(recvBytes, recvBytes.Length, SocketFlags.None);

// }

textBox1.Text = iCount.ToString();

}

catch (Exception ex)

{

MessageBox.Show("连接/发送/接收过程中,发生了错误!");

MessageBox.Show(ex.Message);

//Console.WriteLine("连接/发送/接收过程中,发生了错误!");

//Console.WriteLine(ex.Message);

//Console.WriteLine(ex.StackTrace);

}

finally

{

s.Close();

}


文章题目:php修改IP发送数据包,php修改ip地址
转载来于:http://myzitong.com/article/hdddpj.html