A VSAT system for fingerprint based detection and classification of Internet of Things, IoT, device type, and adaptive allocation and access priority to satellite link bandwidth, comprising a processor; and a memory, coupled to the processor, storing executable instructions that, when executed by the processor, cause the processor to: monitor a link traffic and generate a corresponding feature data, classify the device, based at least in part on applying a machine learning classifier to at least a portion of the feature data, between being and not being an IoT device of a particular IoT device type; and in response to classifying the device as the IoT device of the particular IoT device type to: assign an IoT device type-specific quality of service, QoS, for carrying a traffic associated with the IoT device, and allocate, for traffic associated with the IoT device, resources of the link in accordance with the assigned IoT device type-specific QoS; wherein to classify the device between being and not being an IoT device of the particular IoT device type includes to: apply the feature data to a first classifier that is configured to classify the device between being an IoT device and being a non-IoT device, and in response to the first classifier classifying the device as being an IoT device, to: apply, to a second classifier, an input that is based at least in part on the feature data of the IoT device, the second classifier being configured to classify the IoT device between being and not being the particular IoT device type. a processor; and a memory, coupled to the processor, storing executable instructions that, when executed by the processor, cause the processor to: monitor a link traffic and generate a corresponding feature data, classify the device, based at least in part on applying a machine learning classifier to at least a portion of the feature data, between being and not being an IoT device of a particular IoT device type; and in response to classifying the device as the IoT device of the particular IoT device type to: assign an IoT device type-specific quality of service, QoS, for carrying a traffic associated with the IoT device, and allocate, for traffic associated with the IoT device, resources of the link in accordance with the assigned IoT device type-specific QoS; wherein to classify the device between being and not being an IoT device of the particular IoT device type includes to: apply the feature data to a first classifier that is configured to classify the device between being an IoT device and being a non-IoT device, and monitor a link traffic and generate a corresponding feature data, classify the device, based at least in part on applying a machine learning classifier to at least a portion of the feature data, between being and not being an IoT device of a particular IoT device type; and in response to classifying the device as the IoT device of the particular IoT device type to: assign an IoT device type-specific quality of service, QoS, for carrying a traffic associated with the IoT device, and allocate, for traffic associated with the IoT device, resources of the link in accordance with the assigned IoT device type-specific QoS; assign an IoT device type-specific quality of service, QoS, for carrying a traffic associated with the IoT device, and allocate, for traffic associated with the IoT device, resources of the link in accordance with the assigned IoT device type-specific QoS; wherein to classify the device between being and not being an IoT device of the particular IoT device type includes to: apply the feature data to a first classifier that is configured to classify the device between being an IoT device and being a non-IoT device, and in response to the first classifier classifying the device as being an IoT device, to: apply, to a second classifier, an input that is based at least in part on the feature data of the IoT device, the second classifier being configured to classify the IoT device between being and not being the particular IoT device type.