Do celów edukacyjnych implementuję protokół TCP (na razie tylko RFC 793), ale nie mam pomysłu, aby go przetestować. Większość rzeczy TUN/TAP w Internecie jest nieaktualnych (np. wywołania Linuksa API już nie działają) i po prostu nie wyjaśnia wystarczająco. Ponadto, I czuję się jak tworzenie urządzenia i przekazywanie paczek itp. Nie są najlepszym sposobem na uczenie się. Na przykład, tylko bym raczej przesłonić socket()
, listen()
, connect()
, accept()
, send()
, recv()
itd. W programie raczej niż spedycja cały ruch ethernet na urządzenie/program, który robi bookeeping dla całego systemu, a niż dla pojedynczego programu.Jak przetestować niestandardową implementację protokołu TCP w systemie Linux?
Zastanawiam się, czy to jest możliwe. Jeśli nie, chciałbym poznać najprostszy sposób, aby przetestować implementację TCP w systemie Linux.
Ponieważ śledzę RFC 793, byłoby świetnie, gdybym mógł mieć IP w mojej aplikacji IP (Internet Protocol jak wspomniano w RFC). Czy to jest możliwe, czy też nie muszę się martwić o rzeczy TUN/TAP?
Dzięki ..
Staram się lepiej zrozumieć swoje pytanie. Czy masz stos TCP, który zaimplementowałeś i chcesz go przetestować? Istnieją co najmniej dwa sposoby, możesz przetestować swój stos TCP jako serwer, a następnie podłączyć dowolnego "standardowego" klienta (np. Telnet do niego). Pewne ciężkie podnoszenie, które musisz zrobić, to - być w stanie zaimplementować nasłuchiwanie i zaakceptować podobną funkcjonalność na stosie TCP - ale to byłby punkt wyjścia - Załóżmy - dostajesz wejściowe datagramy IP.Innym sposobem jest najpierw przetestowanie go jako klienta. – gabhijit