---
name: "kdk_net_get_port_stat"
section: "3"
platform: "linux"
package: "libkysdk-system"
version: "3.0.1.4-1"
release: "Arch Linux 2026-11-07"
platforms: ["linux"]
url: "https://carta.tech/man/kdk_net_get_port_stat"
---

# kdk\_net\_get\_port\_stat(3)

获取指定网络端口的状态

## NAME

kdk\_net\_get\_port\_stat - 获取指定网络端口的状态

## SYNOPSIS

```
#include <libkynetinfo.h>

extern int kdk_net_get_port_stat(int port);

Link with -lkynetinfo.
```

## Detailed Description

The main function of the interface is to obtain the status of the specified network port.

The argument *port* is the port number.

## RETURN VALUE

On success, returns a port status of type int, such as TCP\_ESTABLISHED:0x1, TCP\_SYN\_SENT:0x2, TCP\_SYN\_RECV:0x3, TCP\_FIN\_WAIT1:0x4, TCP\_FIN\_WAIT2:0x5, TCP\_TIME\_WAIT:0x6, TCP\_CLOSE:0x7, TCP\_CLOSE\_WAIT:0x8, TCP\_LAST\_ACL:0x9, TCP\_LISTEN:0xa, TCP\_CLOSING:0xb.

On error, return **-1.**

## EXAMPLES

```
#include "libkynetinfo.h"
#include "stdio.h"
#include "stdlib.h"
int main(int argc, char *argv[])
{
    prouteMapList list = kdk_net_get_route(), tmp = list;
    while (tmp)
    {
        printf("%s default route %s0, tmp->name, tmp->addr);
        tmp = tmp->next;
    }
    kdk_net_free_route(list);
    if (argc < 2)
        printf("please input test port num0);
    else
        printf("port:%s's state %d0, argv[1], kdk_net_get_port_stat(atoi(argv[1])));
    pChain chain = kdk_net_get_iptable_rules();
    pChain tmpchain = chain;
    while(tmpchain)
    {
        printf("Chain: %s police: %s0,tmpchain->total,tmpchain->policy);
        pChainData tmpData = tmpchain->data;
        if(tmpData)
            printf("target: %s prot: %s opt: %s source: %s destination: %s option: %s0,tmpData->target,tmpData->prot,tmpData->opt,
                                tmpData->source,tmpData->destination,tmpData->option);
        printf("0);
        tmpchain = tmpchain->next;
    }
    kdk_net_free_chain(chain);
    int result[65536];
    int net = kdk_net_get_multiple_port_stat(0, 1000, result);
    if(net == 0)
    {
        size_t count = 0;
        for(;count < 1000 ;count++)
        {
            printf("%d ", result[count]);
        }
    }
    else
        printf("Failed With %d", net);
     printf("0);
    char mask[32] = " ";
    kdk_net_get_netmask("enaftgm1i0", mask);
    printf("mask = %s0, mask);
    char **port = kdk_net_get_proc_port();
    size_t index = 0;
    while(port[index])
    {
        printf("No.%ld, port = %s0, index+1, port[index]);
        index++;
    }
    kdk_net_freeall(port);
    port = kdk_net_get_up_port();
    index = 0;
    while(port[index])
    {
        printf("No.%ld, port = %s0, index+1, port[index]);
        index++;
    }
    kdk_net_freeall(port);
    char *hosts = kdk_net_get_hosts();
    if (hosts != NULL)
    {
        printf("hosts = %s0, hosts);
        free(hosts);
    }
    char *domain = kdk_net_get_hosts_domain();
    if (domain != NULL)
    {
        printf("domain = %s0, domain);
        free(domain);
    }
    char **resolv = kdk_net_get_resolv_conf();
    index = 0;
    while(resolv[index])
    {
        printf("No.%ld, resolv = %s0, index+1, resolv[index]);
        index++;
    }
    kdk_net_freeall(resolv);
    return 0;
}
```

## CONFORMING TO

These functions are as per the withdrawn POSIX.1e draft specification. The following functions are Linux extensions: **kdk\_net\_get\_netmask**(), **kdk\_net\_get\_multiple\_port\_stat**(), **kdk\_net\_get\_route**(), **kdk\_net\_get\_iptable\_rules**(), **kdk\_net\_free\_route**(), **kdk\_net\_free\_chain**(), **kdk\_net\_get\_proc\_port**(), **kdk\_net\_get\_up\_port**(), **kdk\_net\_get\_hosts**(), **kdk\_net\_get\_hosts\_domain**(), **kdk\_net\_get\_resolv\_conf**() and **kdk\_net\_freeall**().

## SEE ALSO

[**kdk\_net\_get\_netmask**(3)](/man/kdk_net_get_netmask/3.md), [**kdk\_net\_get\_multiple\_port\_stat**(3)](/man/kdk_net_get_multiple_port_stat/3.md), [**kdk\_net\_get\_route**(3)](/man/kdk_net_get_route/3.md), [**kdk\_net\_get\_iptable\_rules**(3)](/man/kdk_net_get_iptable_rules/3.md), [**kdk\_net\_free\_route**(3)](/man/kdk_net_free_route/3.md), [**kdk\_net\_free\_chain**(3)](/man/kdk_net_free_chain/3.md), [**kdk\_net\_get\_up\_port**(3)](/man/kdk_net_get_up_port/3.md), [**kdk\_net\_get\_hosts**(3)](/man/kdk_net_get_hosts/3.md), [**kdk\_net\_get\_hosts\_domain**(3)](/man/kdk_net_get_hosts_domain/3.md), [**kdk\_net\_get\_resolv\_conf**(3)](/man/kdk_net_get_resolv_conf/3.md) and [**kdk\_net\_freeall**(3)](/man/kdk_net_freeall/3.md).
