导航:首页 > 编程语言 > icmp编程

icmp编程

发布时间:2023-11-01 16:55:26

1. linux网络编程是个什么样的东西

Linux 网络编程是一个基于客户端/服务器(即:client/server)的套接字编程结构(即:socket 编程)。
在Linux网络编程的过程中,使用到的协议主要有:TCP/IP(基于连接的协议)、UDP(基于无连接的协议)、ICMP(通常我们在 DOS 状态下通过使用 ping 命令,检查网络的通断,就是依靠该协议)。
在Linux系统的套接字编程中,有标准的 socket( )、client( ) 代码的编写风格。涉及到的主要库函数有:bind( )、listen( )、accept( )、read( )、write( ) 等。
至于说要想学习详细的Linux网络编程技术实现细节,你可以参考《TCP/IP详解》一书。一套共三本。

2. 网络编程中~~icmp协议有几个概念性的疑问不太理解啊,求解答

  1. ICMP是网络控制报文协议,使用IP报文进行信息的传递,说其面向连接是不对的。

  2. 由于ICMP使用IP报文进行信息的传递,多用于一些网络层的跟踪和诊断功能而设计,并不属于传输层,是一种较为特殊的TCPIP的子协议。可以这么认为IP报文中的数据部分可以是ICMP的负载数据,也可以TCP报文体,也可以UDP的报文体。因此可以简单地认为ICMP是和TCP,UDP等并列的一种协议,但是不同的是ICMP并不针对上次的应用,主要针对网络中的各种网络设备,如路由器、交换机、防火墙等设备。

  3. 有以上可知,IP的总长并不存在一个ICMP部分的长度,一个IP报文,要么是承载ICMP报文,要么是承载TCP报文、UDP报文或者其他传输层的报文。

3. 网络编程中*** ping程序发送的ICMP报文,对方的端口号要怎么写啊

这个不是0端口,而是NULL,NULL就是0,意思就是,不指定端口号。
你这段代码用的是原声的SOCKET,其实默认的sin_port应该就是NULL的,这里应该只是显式地再赋值了一遍吧。

4. 网络编程中,ping程序发送的ICMP报文,对方的端口号要怎么写啊

在网上找了类似的问题,也许对你有帮助:

问题:
在UDP定义中,sin.sin_port = htons(0); 的0是何意思?是否只要在sendto指定对方地址就可以,本方port不用指定,除非也要收

回答:

在Internet地址族中,一个名字包括几个组成部分,对于SOCK_PGRAM和SOCK_STREAM类套接口,名字由三部分组成:主机地址,协议号(显式设置为UDP和TCP)和用以区分应用的端口号。如果一个应用并不关心分配给它的地址,则可将Internet地址设置为INADDR_ANY,
或将端口号置为0。如果Internet地址段为INADDR_ANY,则可使用任意网络接口;在有多种主机环境下可简化编程。如果端口号置为0,则
WINDOWS套接口实现将给应用程序分配一个值在1024到5000之间的唯一的端口。

参见:
http://bbs.csdn.net/topics/20304114

阅读全文

与icmp编程相关的资料

热点内容
全新胜达天窗能编程吗 浏览:318
ug常用命令 浏览:347
为什么碳数增加密度减小 浏览:418
少儿计算机编程培训无聊吗 浏览:589
安卓界面更新时点击卡顿如何解决 浏览:773
日本十大漫画app哪个好用 浏览:878
做系统选择哪个文件夹 浏览:285
如何登陆mc服务器 浏览:801
华为无法定位服务器地址 浏览:963
编译原理第三版陈火旺课本图片 浏览:566
cad用什么解压缩软件 浏览:717
编译的函数模版 浏览:361
加密货币利率改变 浏览:228
复杂网络案例python 浏览:298
死命令的意思 浏览:691
哪个app可以听日语电台 浏览:105
谷轮压缩机15hp 浏览:291
python任意整数冒泡降序 浏览:32
医保卡的钱哪个app能看到 浏览:578
主服务器崩溃如何进行域迁移 浏览:319