특정 TCP 포트에서 보내는 원시 소켓을 여는 방법은 무엇입니까? 나는 내 모든 연결이 항상 일기 예보 아래의 포트 범위에서 나가길 원합니다.Linux : 특정 포트에서 TCP 패킷을 보내는 방법은 무엇입니까?
2
A
답변
6
소켓을 사용하는 경우 패킷 헤더에 올바른 TCP 원본 포트를 채우십시오.
만약, 대신, 당신은 TCP 소켓 인터페이스 (socket()
, connect()
친구)를 사용하는, 당신은 클라이언트 소켓의 bind()
시스템 호출을 호출하여 소스 포트를 설정할 수 있습니다 - 정확하게 당신이 할 수신 대기 포트를 설정하는 서버 소켓 용.
1
원시 소켓을 사용하여 TCP 연결을 만드는 것은 어렵고 불가능합니다. 및의 전체 tcp 프로토콜을 구현해야합니다 (커널이 해당 인터페이스의 해당 주소에 IP 바인딩을 가지고있는 경우).
아마도 이것은 원하는 것이 아닙니다. 그러나, 원한다면 원하는 모든 소스 포트로 tcp 프레임을 보내는 것이 중요합니다. TCP 헤더에서 TCP 포트를 지정할 수 있습니다. 물론 TCP 레이어를 구현하는 경우 이해할 필요가있다.
관련 문제
- 1. MCU의 직렬 포트에서 패킷을 수신하는 방법은 무엇입니까?
- 2. 파이썬에서 TCP 패킷을 재구성하는 방법은 무엇입니까?
- 3. 모든 포트에서 브로드 캐스트 패킷을 수신 대기하는 방법은 무엇입니까?
- 4. vxworks에서 IP 패킷을 보내는 방법은 무엇입니까?
- 5. iPhone iOS4.2의 특정 포트에서 수신하는 방법은 무엇입니까?
- 6. tcp 포트에서 데이터 수신
- 7. 특정 포트에서 Winsock을 수신하는 방법은 무엇입니까?
- 8. SWF 패킷을 캡처하는 방법은 무엇입니까?
- 9. 파이썬을 사용하여 tcp 패킷을 디코딩
- 10. C# : 순서가 잘못된 TCP 패킷을 처리하는 방법은 무엇입니까?
- 11. iperf를 사용하여 DSCP로 표시된 패킷을 보내는 방법은 무엇입니까?
- 12. 패킷을 생성하고 보내는 C 코드
- 13. TCP 연결을 종료하기 위해 패킷을 삽입하십시오.
- 14. Linux TCP 소켓 충돌
- 15. 파이썬을 사용하여 tcp SYN 패킷을 빌드하는 동안 tcp 옵션 타임 스탬프를 설정하는 방법은 무엇입니까?
- 16. 동일한 포트에서 UDP를 보내고받는 방법은 무엇입니까?
- 17. tcp 세그먼트를 재구성하는 방법은 무엇입니까?
- 18. 주어진 장치 (기본 장치가 아닌)로 데이터를 보내는 방법은 무엇입니까?
- 19. TCP 포트에서 서버를 모니터링하는 가장 좋은 방법입니다.
- 20. Google 토크는 udp 또는 tcp 패킷을 사용합니까?
- 21. 패킷을 보내기 전에 TCP 시퀀스 번호 읽기
- 22. flex에 tcp flex에서 전송할 파일 세부 정보를 보내는 방법은 무엇입니까?
- 23. TCP 윈도우 업데이트 란 무엇입니까?
- 24. TCP Keepalive를 끄는 방법은 무엇입니까?
- 25. linux/php를 사용하여 skype에서 IM을 보내는 방법은 무엇입니까?
- 26. OS에서 패킷을 보내고 받기 전에 패킷을 분석/차단하는 방법은 무엇입니까?
- 27. TCP 연결을 통해 형식의 메시지를 보내는
- 28. udp node.js 서버로 udp를 보내는 방법은 무엇입니까?
- 29. C 프로그램에서 IP 주소로 보내는 가장 간단한 방법은 무엇입니까?
- 30. Linux 응용 프로그램이 수신 대기중인 IP 포트를 가상화하는 방법은 무엇입니까?
struct sockaddr_in { short sin_family; 부호없는 short sin_port; struct in_addr sin_addr; char sin_zero [8]; }; - 항구를 어디에서 설정해야합니까? –
포트가 sin_port – Erik
@Erik에 설정된 다음 bind()를 수행 한 다음 sin_port가 서버의 포트로 설정되고 connect()가 설정됩니다. –