udp服务端绑定端口号.docx
- 文档编号:4018903
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:9
- 大小:22.02KB
udp服务端绑定端口号.docx
《udp服务端绑定端口号.docx》由会员分享,可在线阅读,更多相关《udp服务端绑定端口号.docx(9页珍藏版)》请在冰豆网上搜索。
udp服务端绑定端口号
udp服务端绑定端口号
篇一:
简单的UDP服务器
这篇在赛迪网上找到的文章很不错,搭建一个简单的UDP服务器,我已经在linux9下编译通过了,可以正确运行,需要修改几个“”符号的小东东,我打算在它的基础上修改一下增加几个功能,以后再进行扩展吧。
希望可以给找源代码的兄弟一点帮助。
如何实现在Linux下创建服务程序
作者:
赵建军
Linux系统能提供强大可靠的网络服务,并有管理程序对服务进行管理。
例如我们熟悉的Web、FTP和电子邮件等,它们既可以单独运行,也可以被守护进程inetd调用,而且运行得都非常好。
但我们不能仅停留在赞叹中,下面就给出两个服务程序程序和一个客户程序的例子,介绍服务程序和客户程序之间是如何沟通的。
另外还要编辑配置一些文件,让服务程序也能接受服务管理程序管理。
这两个服务程序功能相同,但一个是独立服务程序,另一个是被inetd调用的服务程序。
这是TCP/IP网络服务的两大类,这里将两个程序放在一起是为了比较程序结构和运行方式。
两服务程序都在RedHatLinux和TurboLinux上调试通过。
独立服务器
TCP和UDP是两大TCP/IP数据传输方式,套接口是建立服务器客户机连接的机制,首先介绍它们建立通信联系的过程,然后给出一个TCP服务程序例子。
套接口通信方式
对于TCP服务器端,服务程序首先调用建立套接口的函数socket,然后调用绑定服务IP地址和协议端口号函数bind。
绑定成功后调用被动监听函数listen等待客户连接,还要调用获取连接请求函数accept,并一直阻塞到客户连接请求的到达,这个函数获取客户机IP地址和协议端口号。
对于TCP客户端,客户程序启动后后调用建立套接口函数socket,然后调用连接函数connect,此函数与服务器通过三次握手建立连接。
服务器和客户机建立连接后,就可以使用读函数read和写函数write收发数据了。
数据交换完成后便各自调用关闭套接口函数close删除套接口。
TCP套接口通信方式见图1所示。
图1TCP套接口通信方式
套接口通信方式
UDP程序与TCP的区别是无需建立连接。
服务器首先启动,然后等待用户请求。
客户机启动后便直接向服务器请求服务,服务器接到请求后给出应答。
对于UDP服务器端,服务程序首先调用套接口函数socket,然后调用绑定IP地址和协议端口号函数bind。
之后调用函数recvfrom接收客户数据,调用sendto向客户发送数据。
对于UDP客户端,客户机程序启动后调用套接口函数socket,然后调用sendto向服务器发送数据,调用recvfrom接收服务器数据。
双方数据交换成功后,各自调用关闭套接口函数close关闭套接口。
UDP套接口通信方式见图2所示。
图2UDP套接口通信方式
下面给出独立服务程序的例子。
这个程序虽然简单,但是与复杂程序有着相同的结构。
函数socket,创建一个套接口,成功则返回套接口描述符。
函数htonl用于将32位主机字节顺序转换为网络字节顺序,其中参数INADDR_ANY表示任何IP地址。
函数htons用于将16位主机字节顺序转换为网络字节顺序,其中的参数是绑定的端口号,读者可根据环境自行改动,目的是不与其它服务端口冲突。
函数bind用于绑定本地地址和服务端口号,若调用成功返回值为0。
函数listen(),指明服务器的队列长度,被动等待客户连接,调用成功返回值为0。
函数accept等待和获取用户请求,为每个新连接请求创建一个新的套接口,调用成功返回新套接口描述符。
函数read和write用于在服务器和客户机之间传送数据,调用成功返回读和写的字节数。
函数close,用于程序使用完一个套接口后关闭套接口,调用成功返回值0。
其中的参数为accept创建的套接口的描述符client_sockfd。
程序完成后就可以使用命令进行编译。
在命令行中输入“gcc-oserver”,将编译成可执行程序server,这时便可用客户程序进行测试。
在命令行执行“./server”启动服务程序,执行“netstat-na”查看有无server的服务端口。
如果存在,则执行下面编写的客户程序
“./client”。
不过这仅是手工启动的方法,下面给出用服务管理程序管理server程序的方法。
只要在目录/etc//下放入服务程序的脚本就能被服务程序读到。
在命令行执行“touchserver”创建文件server,并将文件属性改成可执行。
在管理程序中并不能看到此服务名,脚本文件必须有一些结构才能被管理程序认为是服务程序脚本。
为了减少工作量,拷贝/etc//下脚本httpd,将拷贝脚本名命名为server,然后对其编辑。
(1)执行“cphttpdserver”。
(2)用文本编辑器vi(其它编辑器亦可)将server打开进入编辑状态。
首先用字符串server替换httpd。
然后找到daemonserver行,如果编写的程序放在变量PATH目录中,不需要修改此行;如果把服务程序放在其它目录中,就要写服务的全路径。
例如程序在/root的目录中,就要写成daemon/root/server,还要删除“rm-f/var/run/”这一行。
(3)执行“chmod755server”,将server属性设定为可执行。
此时就可以用chkconfig、ntsysv等工具,在希望的运行级中增加这个新服务程序,然后测试客户机与服务器能否通信。
被xinetd调用的服务程序
在Linux系统中,有很多服务是被xinetd(较早版本使用的是inetd)超级守护服务器启动的。
其实凡是基于TCP和UDP的服务都可使用超级守护进程启动,只是在服务量很大影响效率的情况下不被采用。
1.依赖xinetd启动的服务建立通信过程
为了与独立服务器程序比较,我们看一下依赖xinetd的服务器是如何启动的。
篇二:
服务器连接端口图及说明
端口清单
核心服务器必须允许在80端口上进行通信。
清单
TCP5007&UDP5007(从设备到核心服务器)
另外,设备使用HTTP(端口80)使其本地文件与核心服务器同步。
软件分发(推)Custjob脚
TCP9592、9593、9594、9595(从核心服务器到设备)
软件分发(基于策略的分发)
TCP12175,12176(从设备到核心服务器)
任务完成
TCP12176(从设备到核心服务器)
定向多播
TCP33354(从核心服务器到设备)
动态搜寻
要使用动态搜寻,请将路由器配置为允许使用UDP端口33354、33355(从核心到设备)。
如果路由器/防火墙停止使用UDP/33354、33355,请使用首选MDR来代替。
SDCLIENT(软件分发代理)
常规的http或文件服务器访问;不必打开任何端口。
警报管理系统
TCP38292(从设备到核心服务器)
不受管的设备搜寻
非受管设备搜寻使用许多标准和LDMS专用协议来查找非受管节点(即不在LDMS数据库中)。
这包括ICMPping、CBAping(udp/38293或udp/9595)、NetBIOSoverTCP、WINS、DNS、LDAP。
代理推行
有许多推行LDMS设备的不同方法。
“推”方法基于标准WindowsRPC方法-与标准WindowsNT/2000/XP远程管理工具(如事件查看器、服务等)所用的方法相同。
RPC方法使用的端口包括
以下端口:
TCP端口137:
NetBIOS名称服务(如果需要名称解析)TCP端口139:
NetBIOS会话
TCP端口445:
SMB(Windows2000及更高版本)
数据库
TCP1433(核心服务器和额外控制台打开)
另外,汇总服务器可以将1433端口更换,并打开更换后的端口。
如果额外控制台同时也是客户端,那么额外控制台也要打开客户端相应的端口。
篇三:
常用应用服务对应的端口号
端口:
0
服务:
Reserved
说明:
通常用于分析操作系统。
这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。
一种典型的扫描,使用IP地址为,设置ACK位并在以太网层广播。
端口:
1
服务:
tcpmux
说明:
这显示有人在寻找SGIIrix机器。
Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。
Irix机器在发布是含有几个默认的无密码的帐户,如:
IP、GUESTUUCP、NUUCP、DEMOS、TUTOR、DIAG、OUTOFBOX等。
许多管理员在安装后忘记删除这些帐户。
因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。
端口:
7
服务:
Echo
说明:
能看到许多人搜索Fraggle放大器时,发送到和的信息。
端口:
19
服务:
CharacterGenerator
说明:
这是一种仅仅发送字符的服务。
UDP版本将会在收到UDP包后回应含有垃圾字符的包。
TCP连接时会发送含有垃圾字符的数据流直到连接关闭。
HACKER利用IP欺骗可以发动DoS攻击。
伪造两个chargen服务器之间的UDP包。
同样FraggleDoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。
端口:
21
服务:
FTP
说明:
FTP服务器所开放的端口,用于上传、下载。
最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。
这些服务器带有可读写的目录。
木马DolyTrojan、Fore、InvisibleFTP、WebEx、WinCrash和BladeRunner所开放的端口。
端口:
22
服务:
Ssh
说明:
PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。
这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。
端口:
23
服务:
Telnet
说明:
远程登录,入侵者在搜索远程登录UNIX的服务。
大多数情况下扫描这一端口是为了找到机器运行的操作系统。
还有使用其他技术,入侵者也会找到密码。
木马TinyTelnetServer就开放这个端口。
端口:
25
服务:
SMTP
说明:
SMTP服务器所开放的端口,用于发送邮件。
入侵者寻找SMTP服务器是为了传递他们的SPAM。
入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。
木马Antigen、EmailPasswordSender、HaebuCoceda、ShtrilitzStealth、WinPC、WinSpy都开放这个端口。
端口:
31
服务:
MSGAuthentication
说明:
木马MasterParadise、HackersParadise开放此端口。
端口:
42
服务:
WINSReplication
说明:
WINS复制
端口:
53
服务:
DomainNameServer(DNS)
说明:
DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。
因此防火墙常常过滤或记录此端口。
端口:
67
服务:
BootstrapProtocolServer
说明:
通过DSL和Cablemodem的防火墙常会看见大量发送到广播地址
的数据。
这些机器在向DHCP服务器请求一个地址。
HACKER常进入它们,分配一个地址把自己作为局部路由器而发起大量中间人
(man-in-middle)攻击。
客户端向68端口广播请求配置,服务器向67端口广播回应请求。
这种回应使用广播是因为客户端还不知道可以发送的IP地址。
端口:
69
服务:
TrivalFileTransfer
说明:
许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。
但是它们常常由于错误配置而使入侵者能从系统中窃取任何文件。
它们也可用于系统写入文件。
端口:
79
服务:
FingerServer
说明:
入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。
端口:
80
服务:
HTTP
说明:
用于网页浏览。
木马Executor开放此端口。
端口:
99
服务:
MetagramRelay
说明:
后门程序ncx99开放此端口。
端口:
102
服务:
Messagetransferagent-overTCP/IP
说明:
消息传输代理。
端口:
109
服务:
PostOfficeProtocol-Version3
说明:
POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。
POP3服务有许多公认的弱点。
关于用户名和密码交换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。
成功登陆后还有其他缓冲区溢出错误。
端口:
110
服务:
SUN公司的RPC服务所有端口
说明:
常见RPC服务有、NFS、、、、amd等
端口:
113
服务:
AuthenticationService
说明:
这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。
使用标准的这种服务可以获得许多计算机的信息。
但是它可作为许多服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。
通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。
记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-MAIL服务器的缓慢连接。
许多防火墙支持TCP连接的阻断过程中发回RST。
这将会停止缓慢的连接。
端口:
119
服务:
NetworkNewsTransferProtocol
说明:
NEWS新闻组传输协议,承载USENET通信。
这个端口的连接通常是人们在寻找USENET服务器。
多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。
打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。
端口:
135
服务:
LocationService
说明:
Microsoft在这个端口运行DCERPCend-pointmapper为它的DCOM服务。
这与UNIX111端口的功能很相似。
使用DCOM和RPC的服务利用计算机上的end-pointmapper注册它们的位置。
远端客户连接到计算机时,它们查找end-pointmapper找到服务的位置。
HACKER扫描计算机的这个端口是为了找到这个计算机上运行ExchangeServer吗?
什么版本?
还有些DOS攻击直接针对这个端口。
端口:
137、138、139
服务:
NETBIOSNameService
说明:
其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。
而139端口:
通过这个端口进入的连接试图获得NetBIOS/SMB服务。
这个协议被用于windows文件和打印机共享和SAMBA。
还有WINSRegisrtation也用它。
端口:
143
服务:
InterimMailAccessProtocolv2
说明:
和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。
记住:
一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。
当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。
这一端口还被用于IMAP2,但并不流行。
端口:
161
服务:
SNMP
说明:
SNMP允许远程管理设备。
所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。
许多管理员的错误配置将被暴露在Internet。
Cackers将试图使用默认的密码public、private访问系统。
他们可能会试验所有可能的组合。
SNMP包可能会被错误的指向用户的网络。
端口:
177
服务:
XDisplayManagerControlProtocol
说明:
许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。
端口:
389
服务:
LDAP、ILS
说明:
轻型目录访问协议和NetMeetingInternetLocatorServer共用这一端口。
端口:
443
服务:
Https
说明:
网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
端口:
456
服务:
[NULL]
说明:
木马HACKERSPARADISE开放此端口。
端口:
513
服务:
Login,remotelogin
说明:
是从使用cablemodem或DSL登陆到子网中的UNIX计算机发出的广播。
这些人为入侵者进入他们的系统提供了信息。
端口:
544
服务:
[NULL]
说明:
kerberoskshell
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- udp 服务端 绑定 端口
![提示](https://static.bdocx.com/images/bang_tan.gif)