- 네트워크
- 군산 1박2일 뚜벅이
- 리눅스
- 프로그래머스 c언어
- 비즈팔찌
- C
- openwrt compile error
- ubuntu
- No gnu/libc-version.h found package/devel/perf
- openwrt
- 군산뚜벅이여행
- Linux
- Wireless
- WiFi6
- 동대문부자재시장
- 중동연탄구이
- C언어
- openwrt 컴파일 에러
- 제주도
- openwrt perf 에러
- hostapd
- openwrt No gnu/libc-version.h found package/devel/perf
- menuconfig
- programmers level2 C
- 취미생활
- WiFi
- openwrt perf error
- 뚜벅이 군산
- 자이언트얀
- 카페 한가로이
- Today
- Total
목록C언어 (3)
Mandoo’s WLAN story
서버와 클라이언트가 소켓으로 패킷을 전달하는 과정에서 패킷이 손실되는 문제가 발생했고, 해결방법을 정리해보았다. 해결하는 과정을 세세하게 적어두었으니 부분부분 넘어가도 좋다. ▶ 통신 환경 통신 : 소켓통신 서버 : 웹 (웹 개발자가 따로 있어서 사용언어는 정확하지 않지만, JAVA로 추측됨) 클라이언트 : C언어로 개발된 리눅스용 프로그램 패킷 : 헥사값으로 이루어진 5000byte 이상의 패킷 ▶ 문제점 클라이언트가 패킷 전체를 전달받지 못하는 문제가 간헐적으로 발생 ▶ 원인 파악 과정 1. 네트워크 상태 체크 : 클라이언트 - 서버 ping체크 2. 클라이언트 C 소스코드에서 request 패킷 전송 전, 후 / response 패킷 수신 전, 후 마다 연결 상태 및 에러를 체크했다. 3. 서버에서..
리눅스 터미널에서 ifconfig로 조회되는 정보들은 ioctl 함수를 이용해 받아올 수 있다! (ip, netmask, mac주소, broadcast addr, destination addr 등) gateway 주소는 ifconfig로 조회되지 않기 때문에 popen을 쓰면 꽤 쉽게 받아올 수 있다! popen은 pipe 통신을 이용해 리눅스에서 명령어를 실행시키고 그 결과를 file 형태로 받아오는 것이다. (openwrt에서는 uci 명령어를 이용해 ubuntu나 cent os와는 사용법이 다르다.) 아래 코드를 보자 #include #include int main(){ char network_info[32] = {0,}; FILE *fp; fp = popen("uci get network.wan...
openssl을 이용해 암호화/복호화 하는 코드를 빌드하려고 하는데, 에러를 만나버렸다. 현재 사용하는 리눅스 버전에는 openssl이 포함되어 있길래 다른 툴은 설치하지 않고 gcc를 이용해 빌드했다. openssl/aes.h 를 가져오면서 compilation terminated 에러가 뜬다. (컴파일 종료 에러) 일단 apt를 업데이트 해주고 ssl 관련 개발을 위한 라이브러리인 libssl-dev를 설치해보자. > sudo apt-get install update > sudo apt-get install libssl-dev libssl-dev 설치까지 끝났으면 빌드할때 -l 플래그를 추가하면 빌드가 잘~~된다. gcc -o openssl openssl.c -lssl -lcrypto