netstat 参数如下:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
1. netstat -an | grep LISTEN
0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定那个IP的服务。
2. netstat -tln
用来查看linux的端口使用情况
3. /etc/init.d/vsftp start
是用来启动ftp端口~!
4. netstat
查看已经连接的服务端口(ESTABLISHED)
5. netstat -a
查看所有的服务端口(LISTEN,ESTABLISHED)
6. sudo netstat -ap
查看所有的服务端口并显示对应的服务程序名
7. nmap <扫描类型><扫描参数>
例如:
nmap localhost
nmap -p 1024-65535 localhost
nmap -PT 192.168.1.127-245
当我们使用 netstat -apn 查看网络连接的时候,会发现很多类似下面的内容:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1
显示这台服务器开放了7710端口,那么这个端口属于哪个程序呢? 我们可以使用 lsof -i :7710 命令来查询:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 1990 root 3u IPv4 4836 TCP *:7710 (LISTEN) 54com.cn
这样,我们就知道了7710端口是属于sshd程序的。
这个啊,我简单的说一下。首先,编程的话,在windows环境下,肯定用的是winsock来编写网络程序。
如何检测客户端和服务端连接成功
肯定是用服务端首先bind,在listen,然后调用个循环accept,当客户端connect的时候,就开一个线程来服务。accept能返回一个sock值,而不是invaid_socket,那肯定就代表连接成功的啦。
断线处理
断线的话,必须得有一段send数据后,发现没有返回,那么程序就知道断线了。至于如何检测,可以设置一定的时间间隔,发送检测数据包,没有断线的话,有返回值,可以发送,断线的话,程序就知道了。
具体的编程和思路,你还是找本书看吧,不知道你用的什么语言编写的,不过估计在windows环境下都差不多。可以看下老罗的《windows环境下32位汇编语言程序设计》里面有个聊天室的案例,讲的蛮清楚的。虽然是汇编的,但是都是相通的,你应该看得懂。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)