netstat__stat
1、"man netstat" 查看 命令"netstat"的参数和打印信息的含义
2、"netstat -awp" --> ZC: 查看 所有 raw套接字的信息(包含进程号等信息)
例子:
[root@localhost RawUdpSend]# netstat -awp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
raw 0 0 *:udp *:* 7 5444/RawUdpSend
[root@localhost RawUdpSend]#
它显示的状态("State")是 "7",不知道是什么意思...
3、搜索网页
3.1、getsockopt(sock, IPPROTO_TCP, TCP_INFO, &tcpinfo, &len);
使用类似语句,获得 socket 状态信息,但是 貌似 是 TCP的信息,UDP 的信息很少,RAW的信息 不知如何获得...
getsockopt --> /usr/inlcude/sys/socket.h
TCP_INFO & "struct tcp_info" --> /usr/include/netimet/tcp.h | /usr/include/linux/tcp.h
3.2、"/usr/include/netimet/tcp.h"中有如下 枚举类型:("/usr/include/linux/tcp.h"中没有)
enum
{
TCP_ESTABLISHED = 1,
TCP_SYN_SENT,
TCP_SYN_RECV,
TCP_FIN_WAIT1,
TCP_FIN_WAIT2,
TCP_TIME_WAIT,
TCP_CLOSE,
TCP_CLOSE_WAIT,
TCP_LAST_ACK,
TCP_LISTEN,
TCP_CLOSING /* now a valid state */
};
ZC: 然而,这是 TCP的状态信息,"netstat -awp"显示的"State"为"7" 能套用这里的信息吗(应该不行吧)?
4、其他查看 socket状态信息的 命令:
4.1、IPv4 : "cat /proc/net/sockstat"
4.2、IPv6 : "cat /proc/net/sockstat6"
4.3、"ss" ZC: 具体用法,看"man ss"
5、