网络编程调试

##记录网络服务名和它们对应使用的端口号及协议

cat /etc/services

##查看某个端口号的使用状态

lsof -i :6000 (查看哪个进程正在监听6000这个端口)
lsof -i TCP:6000 (只显示监听此端口的TCP连接,上面不加选项的就是指TCP&UDP)

lsof命令还可以用来显示谁在使用某个文件或文件夹,例如:

lsof  /root/michael/unp(会显示谁当前在用/root/michael/unp文件夹)

##netstat
netstat 默认情况下,绑定在INADDR_ANY的服务器的套接字是不列出来的,不过可以用 -a 选项改变默认设置(解释:不加-a选项,netstat命令不显示LISTEN状态的条目,所以如果需要显示LISTEN,就需要加上-a)。

netstat -apt(-p选项表示输出PID,-t选项表示监听tcp端口),这个命令可以很方便地显示套接字上程序的PID和名字

netstat -apu:显示监听在udp端口的信息

netstat -napt(加上-n选项表示以数字形式表示地址和端口号,而不是别名)

netstat -nr:可以显示路由表

netstat -i:可以获得计算机基本的网络接口信息

这些命令输出中的*是表示通配地址(INADDR_ANY)

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。