/proc/net/tcp에 대한 파서를 만들고 있는데 연결 상태(네 번째 열)에 대해 가능한 모든 상수가 무엇인지 알고 싶습니다. 0A가 경청을 의미한다는 것을 알고 있지만 Google 결과는 나에게 필요한 나머지 답변을 제공하지 않습니다.
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 3500007F:0035 00000000:0000 0A 00000000:00000000 00:00000000 00000000 101 0 21384 1 ffff987636718000 100 0 0 10 0
1: 0100007F:0277 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 78109 1 ffff98762c4dd000 100 0 0 10 0
2: 800AA8C0:B9CC 70FD1EC0:0016 06 00000000:00000000 03:000005EF 00000000 0 0 0 3 ffff987518bb7cf0
답변1
enum
상태 내용은 첫 번째 항목에 해당합니다.net/tcp_states.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 */
TCP_NEW_SYN_RECV,
TCP_MAX_STATES /* Leave at the end! */
};
현재 값은 다음과 같습니다.
- 확립된;
- 동기화가 전송되었습니다.
- SYN이 수신되었습니다.
- 핀 wait1;
- 핀 wait2;
- 시간의 기다림;
- 폐쇄;
- 자세히 기다리세요.
- 마지막 확인;
- 듣다;
- 폐쇄;
- 새로 받은 SYN.
대부분은 다음 상태에 해당합니다.TCP/IP 상태 머신.