现在我想发送一个数据包给某一台机器,得到那台机器的一些主机信息,比如我发送137端口的TCP请求数据报,这样就可以得到对方的一些主机信息。我也可以通过发送ICMP数据包,通过在ICMP数据包后面填充一些特有的数据,使返回的ICMP数据包也带有那些特有的数据信息。想请教一下高手,我还可以发送哪些端口或哪种协议的数据包,得到目标主机的主机信息(比如主机名、工作组等)(跟137端口一样)或返回我事先填在发送的请求数据包后面的数据(和ICMP一样)?大家自由发言呀,有什么想法都尽管发表吧,来着有分!
调试欢乐多
TCP和UDP采用16 bit的端口号来识别应用程序。服务器一般都是通过知名端口号来识别的。例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69。任何TCP/IP实现所提供的服务都用知名的1~1023之间的端口号。
客户端通常对它所使用的端口号并不关心,只需保证该端口号在本机上是唯一的就可以了。客户端口号又称作临时端口号(即存在时间很短暂。这是因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着的,其服务就运行。
大多数TCP/IP实现给临时端口分配1024~5000之间的端口号。大于5000的端口号是为其他服务器预留的(Internet上并不常用的服务)。
我曾用VC写过从链路层到网络层的发包收包程序,首先你应该知道你要实现的是从哪个层向哪个层发包,然后了解要发送包遵循的协议,这才是最重要的!
不才,见笑。