[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] TCP SYN to UDP port
From: |
Esa Hill |
Subject: |
Re: [lwip-users] TCP SYN to UDP port |
Date: |
Mon, 18 Apr 2016 05:25:07 +0000 |
Yes, that is correct.
I opened a new socket to new (random) port 50000 and then run nmap scan to
ports 49998-50002.
No reply from ports except 50000 which sends RST. Wireshark log attached.
Nmap command:
nmap -p 49998-50002 -v -n --scan-delay 1ms -r 192.168.0.11
Nmap results:
49998/tcp filtered unknown
49999/tcp filtered unknown
50000/tcp closed ibm-db2
50001/tcp filtered unknown
50002/tcp filtered iiimsf
And this is the code I used for this test:
#include "lwip/sockets.h"
void socketTest()
{
struct sockaddr_in myAddr;
struct sockaddr_in toAddr;
struct timeval recvtimeout;
fd_set readfds;
UINT32 len = 0;
int retval = 0;
socklen_t slen = 0;
int socketHandle = -1;
UINT8 rxBuf[512];
socketHandle = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
myAddr.sin_family = AF_INET;
myAddr.sin_port = htons(50000);
myAddr.sin_addr.s_addr = htonl(INADDR_ANY);
if (-1 != bind(socketHandle, (struct sockaddr* )&myAddr, sizeof(myAddr)))
{
while (1)
{
retval = 0;
slen = sizeof(struct sockaddr_in);
FD_ZERO(&readfds);
FD_SET(socketHandle, &readfds);
recvtimeout.tv_sec = 2;
recvtimeout.tv_usec = 0;
retval = select(socketHandle + 1, &readfds, NULL, NULL, &recvtimeout);
if (retval > 0 && FD_ISSET(socketHandle, &readfds))
{
len = recvfrom(socketHandle, &rxBuf[0], 512, 0, (struct sockaddr*
)&toAddr, &slen);
if (len > 0)
{
//...
}
}
}
}
}
Br,
Esa Hill
RST-from-UDP-port.pcapng
Description: RST-from-UDP-port.pcapng
Re: [lwip-users] TCP SYN to UDP port, Sergio R. Caprile, 2016/04/18